Java數(shù)據(jù)庫連接池c3p0過程解析
首先下載c3p0的jar包
https://mvnrepository.com/search?q=c3p0
導入jar包到eclipse
將c3p0的jar包放到eclipse中,單擊右鍵,選擇build path ,在選擇 add jars
創(chuàng)建連接池對象
ComboPooledDataSource cpd= new ComboPooledDataSource();
設置連接參數(shù)
方法一
使用靜態(tài)代碼塊來初始化參數(shù)(不推薦)如果數(shù)據(jù)庫發(fā)生改變,源文件需要重新編寫編譯,項目需要重新部署
static ComboPooledDataSource cpd= new ComboPooledDataSource(); static { try { cpd.setDriverClass("com.mysql.jdbc.Driver"); cpd.setJdbcUrl("jdbc:mysql:///users?characterEnconding=utf-8"); cpd.setUser("root"); cpd.setPassword("123456"); } catch (PropertyVetoException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
方法二
在src的目錄下建立c3p0.propertise文件
c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql:///users?characterEnconding=utf-8
c3p0.user=root
c3p0.password=123456
方法三
在src目錄下建立 c3po-config.xml文件
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-config> <property name="driverClass">com.mysql.jdbc.Driver </property> <property name="jdbcUrl">jdbc:mysql:///jt_db?characterEncoding=utf-8 </property> <property name="user">root </property> <property name="password">root </property> </default-config> </c3p0-config>
調用連接池對象
//創(chuàng)建連接池對象 ComboPooledDataSource cpd= new ComboPooledDataSource(); public void find() throws Exception { //獲取連接池連接 Connection conn = cpd.getConnection(); //創(chuàng)建傳輸器 PreparedStatement ps = conn.prepareStatement("select * from user"); //結果集 ResultSet rs = ps.executeQuery(); while(rs.next()) { rs.getInt(1);//獲取的行的第一列 rs.getString("id");//獲取行的id列 } }
連接池對象的close方發(fā)被改造了,不是釋放連接而是將連接還給連接池
rs.close();
ps.close();
conn.close();
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
深入淺出重構Mybatis與Spring集成的SqlSessionFactoryBean(上)
通常來講,重構是指不改變功能的情況下優(yōu)化代碼,但本文所說的重構也包括了添加功能。這篇文章主要介紹了重構Mybatis與Spring集成的SqlSessionFactoryBean(上)的相關資料,需要的朋友可以參考下2016-11-11Java?InheritableThreadLocal使用示例詳解
InheritableThreadLocal繼承了ThreadLocal,此類擴展了ThreadLocal以提供從父線程到子線程的值的繼承:當創(chuàng)建子線程時,子線程接收父線程具有的所有可繼承線程局部變量的初始值。?通常子線程的值與父線程的值是一致的2022-09-09HttpServletResponse亂碼問題_動力節(jié)點Java學院整理
這篇文章主要介紹了HttpServletResponse亂碼問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07SpringBoot整合Flyway實現(xiàn)數(shù)據(jù)庫的初始化和版本管理操作
Flyway?是一款開源的數(shù)據(jù)庫版本管理工具,它可以很方便的在命令行中使用,或者在Java應用程序中引入,用于管理我們的數(shù)據(jù)庫版本,這篇文章主要介紹了SpringBoot整合Flyway實現(xiàn)數(shù)據(jù)庫的初始化和版本管理,需要的朋友可以參考下2023-06-06MybatisPlus為何可以不用@MapperScan詳解
這篇文章主要給大家介紹了關于MybatisPlus為何可以不用@MapperScan的相關資料,文中通過圖文介紹的非常詳細,對大家學習或者使用MybatisPlus具有一定的參考學習價值,需要的朋友可以參考下2023-04-04