使用多线程连接到MySQL DB

时间:2012-07-07 16:11:13

标签: java mysql multithreading

如果我有一个处理数据库的java代码,我想在我的应用程序中使用多线程。每个线程都假设运行一个包含数据库插入的函数。我的问题是:我应该在哪里发表以下声明:

Connection con = DriverManager.getConnection (dbUrl);
query = " insert into schema.table values (default,?,?)";   
preparedStmt = con.prepareStatement(query);

我应该将它们放在run中,以便每个线程执行它们吗?或者在Main,所以他们只执行一次?或者在run函数调用的函数内部?当我有多线程时,我需要知道插入数据库的正确方法。感谢。

1 个答案:

答案 0 :(得分:2)

您应该考虑创建一个ConnectionPool并从此池获取与数据库相关的工作的连接。

您可能会对以下两个链接感兴趣:

Connection Pooling
Apache Commons DBCP

修改 感谢@MJB指出这个
c3p0是另一个非常好的。 BoneCP是另一个

但是在一天结束时,简单的一点是:您需要实现连接池。您选择哪一个完全是您的决定,并根据您的要求。

相关问题