欢迎访问 生活随笔!

生活随笔

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

编程问答

连接池Connection Pool 单例设计

发布时间:2025/3/20 编程问答 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 连接池Connection Pool 单例设计 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

连接池单例模式

1.私有化ComboPooledDataSource将其作为属性,使其实现单例
2.DataSourceFactory实现懒汉模式,这样作为属性的连接池cpds也就变为了单例
3.从连接池中获取连接Connection

代码如下:

package com.tcb.dao.uitls;import java.sql.Connection;import com.mchange.v2.c3p0.ComboPooledDataSource;/** 连接池单例模式* * 1.私有化ComboPooledDataSource将其作为属性,使其实现单例* 2.DataSourceFactory实现懒汉模式,这样作为属性的连接池cpds也就变为了单例* 3.从连接池中获取连接Connection*/ public class DataSourceFactory {//1.私有化ComboPooledDataSource将其作为属性,使其实现单例private ComboPooledDataSource cpds;//2.DataSourceFactory实现懒汉模式//2.1私有化构造方法--并初始化cpdsprivate DataSourceFactory() {cpds = new ComboPooledDataSource("c3p0-config");}//2.2 私有化属性private static DataSourceFactory sFactory = null;//2.3 返回SessionFactory单例public static DataSourceFactory getSessionFactoryInstance() {if (sFactory == null) {sFactory = new DataSourceFactory();}return sFactory;}//3.从连接池中获取连接Connectionpublic Connection getSession() throws Exception {System.out.println("cpsd========="+cpds);Connection connection = cpds.getConnection();System.out.println("connection========="+connection);return connection;}public static void main(String[] args) {//测试DataSourceFactory dataSourceFactory=DataSourceFactory.getSessionFactoryInstance();DataSourceFactory dataSourceFactory2=DataSourceFactory.getSessionFactoryInstance();try {dataSourceFactory.getSession();dataSourceFactory.getSession();dataSourceFactory.getSession();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}} }

测试结果:

总结

以上是生活随笔为你收集整理的连接池Connection Pool 单例设计的全部内容,希望文章能够帮你解决所遇到的问题。

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