您的位置:首頁技術文章
文章詳情頁

Java使用MySQL實現連接池代碼實例

瀏覽:5日期:2022-09-04 09:45:35

官方:數據庫連接池(Connection pooling)是程序啟動時建立足夠的數據庫連接,并將這些連接組成一個連接池,由程序動態地對連接池中的連接進行申請,使用,釋放。

理解:創建數據庫連接池是一個很耗時的操作,也容易對數據庫造成安全隱患。所以,在程序初始化的時候,集中創建多個數據庫連接池,并把他們集中管理,供程序使用,可以保證較快的數據庫讀寫速度,還更加的安全可靠。

手動配置連接池:

/** * 手動設置連接池 */ public void demo1(){ // 獲得連接: Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try{ // 創建連接池: ComboPooledDataSource dataSource = new ComboPooledDataSource(); // 設置連接池的參數: dataSource.setDriverClass('com.mysql.jdbc.Driver'); dataSource.setJdbcUrl('jdbc:mysql:///jdbctest'); dataSource.setUser('root'); dataSource.setPassword('abc'); dataSource.setMaxPoolSize(20); dataSource.setInitialPoolSize(3); // 獲得連接: conn = dataSource.getConnection(); // 編寫Sql: String sql = 'select * from user'; // 預編譯SQL: pstmt = conn.prepareStatement(sql); // 設置參數 // 執行SQL: rs = pstmt.executeQuery(); while(rs.next()){System.out.println(rs.getInt('uid')+' '+rs.getString('username')+' '+rs.getString('password')+' '+rs.getString('name')); } }catch(Exception e){ e.printStackTrace(); }finally{ JDBCUtils.release(rs, pstmt, conn); } }

使用配置文件配置連接池:

配置文件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:///jdbctest</property> <property name='user'>root</property> <property name='password'>abc</property> <property name='initialPoolSize'>5</property> <property name='maxPoolSize'>20</property> </default-config> </c3p0-config>

代碼如下:

/** * 使用配置文件的方式 */ public void demo2(){ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try{ /*// 獲得連接: ComboPooledDataSource dataSource = new ComboPooledDataSource();*/ // 獲得連接: // conn = dataSource.getConnection(); conn = JDBCUtils2.getConnection(); // 編寫Sql: String sql = 'select * from user'; // 預編譯SQL: pstmt = conn.prepareStatement(sql); // 設置參數 // 執行SQL: rs = pstmt.executeQuery(); while(rs.next()){System.out.println(rs.getInt('uid')+' '+rs.getString('username')+' '+rs.getString('password')+' '+rs.getString('name')); } }catch(Exception e){ e.printStackTrace(); }finally{ JDBCUtils2.release(rs, pstmt, conn); } }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
国产综合久久一区二区三区