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 オブジェクトを作成し、それをすべてのクエリに使用します。プログラムの最後にのみ閉じてください。

多くの場合、1 つの Connection が適切であるため、それを static として宣言できます。

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 に答える