【问题标题】:Multiple Oracle DB connections with OracleDataSource与 OracleDataSource 的多个 Oracle DB 连接
【发布时间】:2016-10-31 00:28:13
【问题描述】:
这段代码是伪代码
试图执行方法executeAllTheQueries()。但是我看到数据库连接的数量等于ArrayList<String> queries 的大小。理想情况下,它应该只有一次。这里出了什么问题?
公共类数据库{
连接连接 = null;
受保护的 OracleDataSource ds;
公共数据库(字符串连接字符串,字符串用户,字符串密码)抛出 SQLException {
ds = new OracleDataSource();
ds.setURL(connectString);
ds.setUser(用户);
ds.setPassword(密码);
}
//如果没有则打开连接的方法
公共连接 createConnection() 抛出 SQLException {
this.connection = (connection == null) ? ds.getConnection() : this.connection;
}
//关闭db连接的方法
受保护的 void closeConnection() 抛出 SQLException {
如果(连接!= null){
连接.close();
this.connection = null;
}
}
//做某事的方法
公共字符串doSomething(字符串查询){
创建连接();
//做某事
}
//执行所有查询的类
公共类 ExecuteQueries {
私有 ArrayList 查询;
数据库数据库;
公共 ExecuteQueries(ArrayList 查询,数据库 db){
this.queries = 查询;
这个.db = db;
}
公共 ArrayList 执行AllTheQueries() {
for(字符串查询:this.queries){
db.doSomething(查询);
}
}
}
【问题讨论】:
标签:
java