新聞中心
這篇文章給大家介紹怎么在Java中利用MySQL實現(xiàn)一個連接池功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)長期為近1000家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為綏德企業(yè)提供專業(yè)的成都網站設計、網站建設,綏德網站改版等技術服務。擁有10多年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
官方:數(shù)據(jù)庫連接池(Connection pooling)是程序啟動時建立足夠的數(shù)據(jù)庫連接,并將這些連接組成一個連接池,由程序動態(tài)地對連接池中的連接進行申請,使用,釋放。
理解:創(chuàng)建數(shù)據(jù)庫連接池是一個很耗時的操作,也容易對數(shù)據(jù)庫造成安全隱患。所以,在程序初始化的時候,集中創(chuàng)建多個數(shù)據(jù)庫連接池,并把他們集中管理,供程序使用,可以保證較快的數(shù)據(jù)庫讀寫速度,還更加的安全可靠。
手動配置連接池:
/** * 手動設置連接池 */ public void demo1(){ // 獲得連接: Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try{ // 創(chuàng)建連接池: ComboPooledDataSource dataSource = new ComboPooledDataSource(); // 設置連接池的參數(shù): 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); // 設置參數(shù) // 執(zhí)行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如下:
com.mysql.jdbc.Driver jdbc:mysql:///jdbctest root abc 5 20
代碼如下:
/** * 使用配置文件的方式 */ 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); // 設置參數(shù) // 執(zhí)行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中利用MySQL實現(xiàn)一個連接池功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
本文名稱:怎么在Java中利用MySQL實現(xiàn)一個連接池功能
文章位置:http://fisionsoft.com.cn/article/gcjijh.html