【发布时间】:2019-08-30 09:49:36
【问题描述】:
我正在使用执行多个查询的函数。我想让它更快,并且在单个之后不要打开连接。
我正在使用 sql2o 库将我的 java 程序与 postgresql 连接起来。 ConnectionClass 基于 Singleton 模式。
在此代码中,connecton.open() 函数是调用执行查询时间的次数。
public class ConnectionClass{
private static final ConnectionClass db = new ConnectionClass();
private final Sql2o sql2o;
private Connection connection;
private InfraTramDAO() {
sql2o = new Sql2o("jdbc:postgresql:...............");
}
private List<Map<String, Object>> queryToList(String query) {
List<Map<String, Object>> returnList = connection.createQuery(complexSql).executeAndFetchTable().asList();
return returnList;
}
}
public void makeObject(FileMapper fileMapper ) {
ConnectionClass db = ConnectionClass.getInstance();
db.setConnection(db.getSql2o().open());
universalCreator(fileMapper ); //function execute few queries
db.getConnection().close();
}
【问题讨论】: