使用一个JDBC语句池比使用连接池有什么缺点?

时间:2019-03-11 12:29:28

标签: jdbc

有很多文章解释了为什么我们应该使用JDBC连接池,我理解这一点。

但是我还有一个问题。

假设我们有一个程序需要连接到数据库。

我认为我们可以

  • 创建连接
Connection conn = DriverManager.getConnection(url,username,password);
  • 创建一个陈述,做点事,将其关闭
  • 创建一个陈述,做点事,将其关闭
  • 创建一个声明,执行某项操作,然后将其关闭 .....
Statement sm1 = conn.createStatement()
Statement sm2 = conn.createStatement()
Statement sm3 = conn.createStatement()

....
// do something
...

sm1.close();
sm2.close();
sm3.close()

  • 密切联系

此代码的缺点是什么,为什么我们不使用它呢?

1 个答案:

答案 0 :(得分:0)

使用连接池时,如果分开语句,则每个语句可能会获得不同的连接,如果您进行多次更新甚至可能锁定事务,则连接也会

您可以尝试使用资源并减少一些代码

 try (Connection conn = DriverManager.getConnection(url,username,password);
 Statement sm1 = conn.createStatement();
 Statement sm2 = conn.createStatement();
 Statement sm3 = conn.createStatement())

还考虑将您的SQL更改为一条语句