日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DBCP使用BasicdataSource连接(两种单例模式-----饿汉和懒汉模式)

發(fā)布時(shí)間:2025/5/22 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。