1

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

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

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

4

1 回答 1

2

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

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

连接池
Apache Commons DBCP

编辑 感谢@MJB 指出这一点
c3p0是另一个非常好的。
BoneCP是另一个

但归根结底,简单的一点是:您需要实现连接池。您选择哪一个完全是您的决定,并基于您的要求。

于 2012-07-07T16:48:12.540 回答