中国移动 宽禁带半导体 多线程 leetcodeLCP 金融信贷 video lambda yii base64 建筑资质 vue的钩子函数 vue源码下载 nginx视频教程 网络营销视频教程 jquery点击事件 arduino程序 python刷题 java上传图片 matlab取实部 python教学 python输出函数 python高级教程 python中文教程 linux配置python环境 java抽象类 java多态 java读取文件内容 java字符串函数 java文件复制 java环境下载 linuxls命令 乱码查看器 摩斯密码翻译 主板芯片组天梯图 js轮播图代码 飞猪ip 矩阵分析与应用 网络克隆 计价软件 listpreference
当前位置: 首页 > 学习教程  > 编程语言

JAVA 自定义连接池

2020/12/28 18:42:47 文章标签:

public class DBUtils {//1.帮助类---DataSourceprivate DataSource dataSource null;//2.通过构造函 数读取配置文件并实例化DataSourcepublic DBUtils() {//2-1、当前配置文件InputStream inputStream DBUtils.class.getClassLoader().getResourceAsStream("dbcpconfig…

public class DBUtils {
	//1.帮助类---DataSource
    private DataSource dataSource =null;
    //2.通过构造函 数读取配置文件并实例化DataSource
    public DBUtils() {
    	//2-1、当前配置文件
    InputStream inputStream =	DBUtils.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
    
    //把配置文件中的内容存放在容器中
    Properties properties =new Properties();
    
    try {
		properties.load(inputStream);
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
    //2-2.通过工厂模式、实例化DateSource
    try {
		dataSource =BasicDataSourceFactory.createDataSource(properties);
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
    
    }
    //3、向外界、通过获取连接的方法
    public Connection getConn() {
    	Connection connection =null;
    	try {
			connection =dataSource.getConnection();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    	return connection;
    }
    //4.关闭连接
    public void close(Connection connection,Statement statement,ResultSet resultSet) {
    	try {
			if(resultSet !=null)resultSet.close();
			if(statement !=null)statement.close();
			if(connection !=null)connection.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    }
    
    public static void main(String[] args) {
		DBUtils dbutils =new DBUtils();
		System.out.println(dbutils.getConn());
	}
    

dbcpconfig.properties 配置文件

#连接设置
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3305/j2011_01?useUnicode=true&characterEncoding=utf-8;
username=root
password=123456

#<!-- 初始化连接 -->
initialSize=10

#最大连接数量
maxActive=50

#<!-- 最大空闲连接 -->
maxIdle=20

#<!-- 最小空闲连接 -->
minIdle=5

#<!-- 超时等待时间以毫秒为单位 6000毫秒/1000等于60-->
maxWait=60000


#JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;]
#注意:"user""password" 两个属性会被明确地传递,因此这里不需要包含他们。
connectionProperties=useUnicode=true;characterEncoding=gb2312

#指定由连接池所创建的连接的自动提交(auto-commit)状态。
defaultAutoCommit=true

#driver default 指定由连接池所创建的连接的只读(read-only)状态。
#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)
defaultReadOnly=

#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。
#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
#oracle只支持READ_COMMITTED(默认),SERIALIZABLE
defaultTransactionIsolation=REPEATABLE_READ

本文链接: http://www.dtmao.cc/news_show_550096.shtml

附件下载

上一篇:redis持久化选择

下一篇:访问修饰符

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?