簡體   English   中英

將DriverManager與Tomcat連接池一起使用

[英]Use DriverManager with Tomcat connection pooling

這是使用Tomcat的內置緩沖機制的代碼段。

PoolProperties p = new PoolProperties();
p.setUrl("jdbc:mysql://localhost:3306/mysql");
p.setDriverClassName("com.mysql.jdbc.Driver");
p.setUsername("root");
p.setPassword("password");
DataSource datasource = new DataSource();
datasource.setPoolProperties(p);
Connection con = null;
try {
   con = datasource.getConnection();
   Statement st = con.createStatement();
   ResultSet rs = st.executeQuery("select * from user");
   int cnt = 1;
   while (rs.next()) {
       System.out.println((cnt++)+". Host:" +rs.getString("Host")+
       " User:"+rs.getString("User")+" Password:"+rs.getString("Password"));
   }
   rs.close();
   st.close();
} finally {
   if (con!=null) try {con.close();}catch (Exception ignore) {}
}

如果不使用DataSource而是使用DriverManager怎么辦?

似乎無法使用DriverManager進行相同操作。 實際上,這就是為什么他們在JDBC 2.0中提出了改進的DataSource類。

要在DriverManager中使用連接池,我們有3個選項

  1. 編寫自己的實現。 更多細節在這里
  2. 使用類似apache-commons-dbcp的框架/庫。 更多細節在這里
  3. 使用提供的DataSource容器。 示例此處 (基於tomcat容器)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM