0

我正在寻找一些如何更动态地访问 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”到数据库并将数据打印到它而无需一次又一次地打开和关闭连接?

感谢您的回复。

4

1 回答 1

0

在程序开始时创建一个 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();
于 2013-09-24T20:28:22.033 回答