Java / SQL - 在Statement对象上调用.execute()与createStatement.execute()

时间:2018-02-01 14:37:15

标签: java mysql sql jdbc

我在业内的第一份工作的第一个问题,请保持温和。

我目前正在使用java.sql库在Java中使用MySQL数据库进行大量工作,处理传递给我的代码。它处理执行SQL语句的现有方式有两种:

Connection connection = DriverManager.getConnection(...);
// code code code

Statement stmt = connection.createStatement();
ResultSet res = stmt.execute("SQL code here");
// code code code
stmt.close();
connection.close();

Connection connection = DriverManager.getConnection(...);
// code code code

ResultSet res = connection.createStatement().execute("SQL code here");
// code code code
connection.close()

第一个选项在我给出的代码中更为常见。为一个或两个查询创建了许多不同的Statement对象并立即关闭。

第二个选项,至少在我看来,似乎更清晰,我想实现它,但我担心这不会关闭正在创建的Statement对象。第二个选项是否会在执行时间,内存使用等方面造成任何问题,还是会实际改善/不改变任何内容?

编辑:连接对象在程序开头打开,始终保持打开状态,最后关闭。

0 个答案:

没有答案