免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
數(shù)據(jù)庫連接JDBC連接池組件C3P0的使用方法
方法一:
package   C3P0; 
import  java.sql.Connection; 
import  java.sql.SQLException; 
import  java.beans.PropertyVetoException; 
import  com.mchange.v2.c3p0.ComboPooledDataSource; 
public   class   DBPool{     
   private  static   DBPool   dbPool;     
   private  ComboPooledDataSource   dataSource;   

   static      
          dbPool=new  DBPool();      
   }     
   
   public  DBPool(){      
          try  {      
                dataSource=new  ComboPooledDataSource();      
                dataSource.setUser( "id ");     
                dataSource.setPassword( "pw ");     
                dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test? 

autoReconnect=true&useUnicode=true&characterEncoding=GB2312"); 
                dataSource.setDriverClass( "com.mysql.jdbc.Driver"); 
                dataSource.setInitialPoolSize(2); 
                dataSource.setMinPoolSize(1); 
                dataSource.setMaxPoolSize(10); 
                dataSource.setMaxStatements(50); 
                dataSource.setMaxIdleTime(60);     
           catch   (PropertyVetoException  e)   {     
             throw   new  RuntimeException(e);     
              
   }     

   public  final   static   DBPool  getInstance(){     
          return  dbPool;      
   }     

   public  final   Connection  getConnection()   {     
          try  {      
                return  dataSource.getConnection();      
           catch   (SQLException  e)   {     
                throw   new  RuntimeException( "無法從數(shù)據(jù)源獲取連接 ",e);     
              
   }    
   
   public  static   void   main(String[]  args)   throws  SQLException  
Connection   con   null; 
try  
con   =  DBPool.getInstance().getConnection(); 
}   catch   (Exception  e){ 
}   finally  
if   (con   !=  null) 
con.close(); 


}

方法二:

原來不知道使用c3p0 是如此的簡單,我一直使用properties文件去配置c3p0,但總是連接不上數(shù)據(jù)庫,后來調(diào)試才發(fā)現(xiàn)ComboPooledDataSource這個對象的屬性沒有被設(shè)置成功,我是先獲取了properties文件的內(nèi)容,封裝在一個 Properties對象里面,然后直接調(diào)用ComboPooledDataSource 的 setProperties(Properties p)方法來配置c3p0,程序是沒有報錯,但連不上數(shù)據(jù)庫,調(diào)試發(fā)現(xiàn)屬性都沒有設(shè)置成功,只是properties這個屬性被設(shè)置了而已,結(jié)果我對每個屬性調(diào)用set方法后就連接上了。。。

public final class ConnectionManager {
 private static ConnectionManager instance;

 public ComboPooledDataSource ds;
 private static String c3p0Properties ="c3p0.properties";

 private ConnectionManager() throws Exception{
  Properties p = newProperties();
  p.load(this.getClass().getResourceAsStream(c3p0Properties));
  ds = newComboPooledDataSource();
  ds.setUser(p.getProperty("user"));
  ds.setPassword(p.getProperty("user"));
  ds.setJdbcUrl(p.getProperty("user"));
  ds.setDriverClass(p.getProperty("user"));
  ds.setInitialPoolSize(Integer.parseInt(p.getProperty("initialPoolSize")));
  ds.setMinPoolSize(Integer.parseInt(p.getProperty("minPoolSize")));
  ds.setMaxPoolSize(Integer.parseInt(p.getProperty("maxPoolSize")));
  ds.setMaxStatements(Integer.parseInt(p.getProperty("maxStatements")));
  ds.setMaxIdleTime(Integer.parseInt(p.getProperty("maxIdleTime")));
 }

 public static final ConnectionManagergetInstance() {
  if (instance == null){
   try{
    instance= new ConnectionManager();
   } catch(Exception e) {
    e.printStackTrace();
   }
  }
  return instance;
 }

 public synchronized final ConnectiongetConnection() {
  try {
   returnds.getConnection();
  } catch (SQLException e){
   e.printStackTrace();
  }
  return null;
 }

 protected void finalize() throws Throwable{
  DataSources.destroy(ds); //關(guān)閉datasource
  super.finalize();
 }
}

如此就可以獲取connection來做jdbc操作了:
Connectionconn=ConnectionManager.getInstance().getConnection();
記得使用完后調(diào)用close方法:
conn.close();
c3p0 的某些參數(shù)的配置以及意義見另外一篇文章http://kangzye.blog.163.com/blog/static/368192232010442162576/


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
java 利用c3p0管理數(shù)據(jù)庫連接池
數(shù)據(jù)庫連接池C3P0,DBCP教程詳解示例
JDBC和數(shù)據(jù)庫連接池
自己做數(shù)據(jù)庫連接池(c3p0)
DBUtils
java 數(shù)據(jù)庫連接基礎(chǔ)配置
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服