我正在使用执行多个查询的函数。我想让它更快,并且在单个之后不要打开连接。
我正在使用 sql2o 库将我的 java 程序与 postgresql 连接起来。ConnectionClass 基于单例模式。
在此代码中,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();
}