gpt4 book ai didi

java - 与 OracleDataSource 的多个 Oracle DB 连接

转载 作者:太空宇宙 更新时间:2023-11-04 12:28:50 25 4
gpt4 key购买 nike

这段代码是伪代码

尝试执行方法executeAllTheQueries()。但我看到数据库连接数等于 ArrayList<String> queries 的大小。理想情况下应该只有一次。这里出了什么问题?

     public class Database {       Connection conneciton = null;       protected OracleDataSource ds;       public Database(String connectString, String user, String password) throws SQLException {          ds = new OracleDataSource();          ds.setURL(connectString);          ds.setUser(user);          ds.setPassword(password);       }       //Method to open the connection if there isn’t one       public Connection createConnection() throws SQLException {         this.connection = (connection == null) ? ds.getConnection() : this.connection;       }       //Method to close the db connection       protected void closeConnection() throws SQLException {        if (connection != null) {            connection.close();            this.connection = null;        }       }       //Method to do something       public String doSomething(String query) {          createConnection();          //Doing something       }    //Class to execute all the queries    public class ExecuteQueries {         private ArrayList queries;         Database db;        public ExecuteQueries(ArrayList queries, Database db) {           this.queries = queries ;          this.db = db;        }      public ArrayList executeAllTheQueries() {           for (String query: this.queries) {              db.doSomething(query);           }      }    }

最佳答案

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

关于java - 与 OracleDataSource 的多个 Oracle DB 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38080252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com