我在业内的第一份工作的第一个问题,请保持温和。
我目前正在使用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对象。第二个选项是否会在执行时间,内存使用等方面造成任何问题,还是会实际改善/不改变任何内容?
编辑:连接对象在程序开头打开,始终保持打开状态,最后关闭。