【问题标题】: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


    【解决方案1】:

    看起来您在每次调用 doSomething 时都创建了连接。你为每个查询调用 doSomething。

    【讨论】:

      猜你喜欢
      • 2010-11-28
      • 2016-03-04
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      • 1970-01-01
      相关资源
      最近更新 更多