Java中MySQL数据库的动态访问
我正在寻找一种更动态地访问MySQL数据库的方法 例如,我想在表中插入一些文本。 我有一个名为Java中MySQL数据库的动态访问,java,mysql,Java,Mysql,我正在寻找一种更动态地访问MySQL数据库的方法 例如,我想在表中插入一些文本。 我有一个名为insert()的方法,大约每半秒钟调用一次,然后执行insert操作 代码如下所示: public void insert(String string) { Class.forName("com.mysql.jdbc.Driver").newInstance(); java.sql.Connection conn = java.sql.DriverManager.get
insert()
的方法,大约每半秒钟调用一次,然后执行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”到数据库并将数据打印到其中,而无需反复打开和关闭连接
谢谢你的回复 在程序开始时创建一个连接对象,并将其用于每个查询。仅在程序结束时关闭它 通常一个连接是好的,所以您可以将其声明为静态的
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();
你应该关闭连接这是一个很好的做法,这里的答案是使用ConnectionPool。如果你担心频繁打开/关闭连接,请使用“连接池”。是的,这也是我考虑的选项。如果我找不到其他解决方案,我会用它。