连接池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 单例设计相关推荐
- 《ADO.NET 2.0高级程序设计》读书随笔(1)使用连接池connection pool
转载于:https://www.cnblogs.com/xuxiaoguang/archive/2007/12/18/1004591.html
- jsp oracle连接池,利用Oracle自带的连接池类的一例
利用Oracle自带的连接池类的一例 作者:未知 文章来源:www.jspcn.net 发布日期:2005年01月19日 /** 封装了对数据库的连接,用于处理SQL语句. @author:ya ...
- 直播平台开发,直播各个分类单例设计展示
直播平台开发,直播各个分类单例设计展示 一. 饿汉式实现 立即加载就是使用类的时候已经将对象创建完毕(不管以后会不会使用到该实例化对象,先创建了再说.很着急的样子,故又被称为"饿汉模式&qu ...
- 连接池-Connection pools
1.为什么使用连接池 -创建连接需要消耗时间和资源 -Connection pools可以使在特定页面运行过后,连接能够保持下来 2.使用连接池和不使用连接池的比较 3.ADO.NET中的连接池 -如 ...
- 数据库连接池 Connection Pool 是什么,做什么
重新拾起Java来学,就遇到了一本不错的书<Hibernate 深入浅出>电子工业出版社,相较其他的工具类书,本书中用词更加生动活泼,从字句之间就可以看出作者的用心与深厚的文字功底,让人相 ...
- sqlserver连接池Min Pool Size
今天遇到了关于Sql Server最大连接数(Max Pool Size)的配置问题 Timeout expired 超时时间已到. 达到了最大池大小 错误及Max Pool Size设置 参考数据库 ...
- 实现连接池技术的样例
1. 在tomcat的安装文件夹下conf文件夹下的context.xml文件加入例如以下代码: <Resource name="jdbc/course" auth=&quo ...
- 闭关修炼(十)单例设计
单例.工厂.代理这些简单的设计模式都应该掌握(手写) 文章目录 设计模式 什么是设计模式? 设计模式的作用? 23种设计模式 设计模式六大原则 单例 什么是单例 懒汉式 饿汉式 设计模式 什么是设计模 ...
- 【轻松学】Python面向对象编程——类的设计、基础语法、继承、多态、类属性和类方法、单例设计
文章目录 1. 类的设计 大驼峰命名法 1.1 类名的确定 1.2 属性和方法的确定 练习 1.1 练习 1.2 2. 面相对象基础语法 2.1 定义简单的类(只包含方法) 2.1.1 定义只包含方法 ...
最新文章
- 菜鸟崛起 DB Chapter 2 MySQL 5.6的概述与安装
- 软件详细设计说明书_校导周绪龙|软件测试第五篇——软件测试的底层思维
- 企业微服务:实现crud操作之创建实体类
- vue v-Model
- CF388D-Fox and Perfect Sets【dp,线性基】
- 如何处理班级过多的问题
- 【 POJ - 2033 】Alphacode (dp,有坑)
- singer页左侧滚动的时候右侧跟随高亮显示
- AngularJS第六课(路由)
- scala代码示例_Scala元组和地图示例
- sql select 输出多行_SQL复杂查询
- m1芯片 服务器,今天来说说苹果M1 和华为ARM PC芯片
- 重磅:使用UOS微信桌面版协议登录,wechaty免费版web协议重放荣光
- 【现代货币银行学】货币与货币制度
- 小区物业管理系统计算机科学技术,智能化小区物业管理系统关键技术研究
- 开源美狐美颜SDK功能代码分析
- css3波浪动画特效
- 全栈工程师的百宝箱:黑魔法之文档篇
- 多旋翼无人机组合导航系统-多源信息融合算法附Matlab代码
- 大疆飞行模拟器 下载、安装及使用教程