我正在寻找一些方法,如何更动态地访问MySQL数据库。
例如,我想在我的表格中插入一些文本。我有一个名为insert()的方法,大约每隔半秒就会调用一次,并执行插入操作。
代码如下所示:
public void insert(String string) {
Class.forName("com.mysql.jdbc.Driver").newInstance();
java.sql.Connection conn = java.sql.DriverManager.getConnection(...);
java.sql.Statement stat = conn.createStatement();
stat.executeUpdate("INSERT INTO mytable (mytext) VALUES ('"+ string +"')");
conn.close();
}但我真的认为这可能会导致许多问题,因为它太频繁地打开和关闭连接。
那么,有没有办法在不反复打开和关闭连接的情况下打开数据库的"MySQLStream“并将数据打印到其中呢?
感谢您的回复。
发布于 2013-09-25 04:28:22
在程序开始时创建一个Connection对象,并将其用于每个查询。只有在程序结束时才关闭它。
通常一个连接是好的,所以你可以把它声明为静态的。
public static java.sql.Connection conn;
public static void buildConnection()
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = java.sql.DriverManager.getConnection(...);
}
public void insert(String string)
{
java.sql.Statement stat = conn.createStatement();
stat.executeUpdate("INSERT INTO mytable (mytext) VALUES ('"+ string +"')");
}在程序中,您可以执行以下操作:
buildConnection();
...
insert("....");
insert("....");
...
conn.close();https://stackoverflow.com/questions/18990877
复制相似问题