DBCP使用BasicdataSource连接(两种单例模式-----饿汉和懒汉模式)
生活随笔
收集整理的這篇文章主要介紹了
DBCP使用BasicdataSource连接(两种单例模式-----饿汉和懒汉模式)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
DBCP使用BasicDataSource連接
BasicDataSource實(shí)現(xiàn)DataSource的接口,可以進(jìn)行簡(jiǎn)單的數(shù)據(jù)庫(kù)連接
第一種:懶漢模式:顧名思義,“懶”,只有在調(diào)用方法時(shí)才構(gòu)造對(duì)象
package com.example.dao;import org.apache.commons.dbcp2.BasicDataSource;import javax.sql.DataSource;public class t1 {private static DataSource dataSource ; //懶漢模式private t1(){}private static DataSource getDataSource(){if(dataSource==null){BasicDataSource basicDataSource = new BasicDataSource();String strUri = "jdbc:mysql://localhost:3306/practical_training?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong&allowPublicKeyRetrieval=true";String strDriver = "com.mysql.cj.jdbc.Driver";String userName = "root";String userpwd = "123456";basicDataSource.setUrl(strUri);basicDataSource.setDriverClassName(strDriver);basicDataSource.setPassword(userpwd);basicDataSource.setUsername(userName);dataSource = basicDataSource;}return dataSource;}}第二種:餓漢模式:慌不擇食,一開始就創(chuàng)建了對(duì)象
package com.example.dao;import org.apache.commons.dbcp2.BasicDataSource;import javax.sql.DataSource; //你永遠(yuǎn)想不到困住你的是什么public class DBCPDataSource {private static DataSource dataSource;// = new BasicDataSource(); // 餓漢方式 -- 線程安全的// 靜態(tài)語句塊進(jìn)行初始static { // 線程安全的,和懶漢方式是一樣,只不過形式不一樣BasicDataSource basicDataSource = new BasicDataSource();// 設(shè)置數(shù)據(jù)源的數(shù)據(jù)庫(kù)連接屬性// 數(shù)據(jù)庫(kù)jdbc連接屬性信息// uri mysql5和mysql8 連接串不一樣,8要求有時(shí)區(qū)屬性// localhost - 數(shù)據(jù)庫(kù)服務(wù)器主機(jī)名,或者ip地址, 127.0.0.1 表示本機(jī)// 注意: 如果連接串解析是被,要注意可能是因?yàn)?& 引起的,因?yàn)橛袝r(shí)需要 使用 & 的html轉(zhuǎn)移符號(hào) &String strUri8 = "jdbc:mysql://localhost:3306/practical_training?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong&allowPublicKeyRetrieval=true";// drivername的名字 mysql5和mysql8 不一樣String strDriverName8 = "com.mysql.cj.jdbc.Driver";String strUserName = "root";String strUserPsw = "123456";// 給數(shù)據(jù)源對(duì)象設(shè)置相關(guān)數(shù)據(jù)庫(kù)連接屬性basicDataSource.setUrl(strUri8);basicDataSource.setDriverClassName(strDriverName8);basicDataSource.setUsername(strUserName);basicDataSource.setPassword(strUserPsw);// 還可以繼續(xù)set設(shè)置dbcp數(shù)據(jù)源的其他的屬性值【參考官網(wǎng)或其他資料設(shè)置,一般根據(jù)項(xiàng)目運(yùn)行時(shí)的狀態(tài)由dba進(jìn)行調(diào)試,此處,采用默認(rèn)值】basicDataSource.setInitialSize(3); // 連接池初始化的數(shù)量// 多態(tài),父類指代子類dataSource = basicDataSource;}// 2 構(gòu)造方法私有化private DBCPDataSource() {}// 3 提供一個(gè)全局的訪問方法入口public static DataSource getDataSource() {return dataSource;} }總結(jié)
以上是生活随笔為你收集整理的DBCP使用BasicdataSource连接(两种单例模式-----饿汉和懒汉模式)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: File工具类查找
- 下一篇: mybatis框架使用generator