欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2025/5/22 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 DBCP使用BasicdataSource连接(两种单例模式-----饿汉和懒汉模式) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

DBCP使用BasicDataSource连接

BasicDataSource实现DataSource的接口,可以进行简单的数据库连接

第一种:懒汉模式:顾名思义,“懒”,只有在调用方法时才构造对象

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;}}

第二种:饿汉模式:慌不择食,一开始就创建了对象

package com.example.dao;import org.apache.commons.dbcp2.BasicDataSource;import javax.sql.DataSource; //你永远想不到困住你的是什么public class DBCPDataSource {private static DataSource dataSource;// = new BasicDataSource(); // 饿汉方式 -- 线程安全的// 静态语句块进行初始static { // 线程安全的,和懒汉方式是一样,只不过形式不一样BasicDataSource basicDataSource = new BasicDataSource();// 设置数据源的数据库连接属性// 数据库jdbc连接属性信息// uri mysql5和mysql8 连接串不一样,8要求有时区属性// localhost - 数据库服务器主机名,或者ip地址, 127.0.0.1 表示本机// 注意: 如果连接串解析是被,要注意可能是因为 & 引起的,因为有时需要 使用 & 的html转移符号 &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";// 给数据源对象设置相关数据库连接属性basicDataSource.setUrl(strUri8);basicDataSource.setDriverClassName(strDriverName8);basicDataSource.setUsername(strUserName);basicDataSource.setPassword(strUserPsw);// 还可以继续set设置dbcp数据源的其他的属性值【参考官网或其他资料设置,一般根据项目运行时的状态由dba进行调试,此处,采用默认值】basicDataSource.setInitialSize(3); // 连接池初始化的数量// 多态,父类指代子类dataSource = basicDataSource;}// 2 构造方法私有化private DBCPDataSource() {}// 3 提供一个全局的访问方法入口public static DataSource getDataSource() {return dataSource;} }

总结

以上是生活随笔为你收集整理的DBCP使用BasicdataSource连接(两种单例模式-----饿汉和懒汉模式)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。