使用配置文件的方式构建数据库连接工具类范例(DBCP)

dbcp.propertise内容:

dirver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://数据库地址:3306/jdbctest
username=root
password=数据库密码
InitialSize=3
MaxTotal=5
MaxWaitMillis=3000

DBCPUtil.java

package dbcptest;
/**
 * 数据库连接工具类,每次调用会返回数据库连接对象
 * 使用配置文件的方式方便更改数据库配置信息
 *
 * Title: DBCPUtil
 *
 * Description:
 *
 * @author Ethan
 *
 * @date 2019年6月23日
 *
 */

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

import org.apache.commons.dbcp2.BasicDataSource;

public class DBCPUtil {

    private static BasicDataSource bds;
    static {
        //创建数据源对象
        bds = new BasicDataSource();
        //读取配置文件
        Properties prop = new Properties();
        InputStream ips = DBCPUtil.class.getClassLoader().getResourceAsStream("dbcp.properties");
        try {
            prop.load(ips);

            String driver = prop.getProperty("driver");
            String url = prop.getProperty("url");
            String username = prop.getProperty("username");
            String password = prop.getProperty("password");
            String initialSize = prop.getProperty("InitialSize");
            String maxTotal = prop.getProperty("MaxTotal");
            String maxWaitMillis = prop.getProperty("MaxWaitMillis");

            //配置连接信息
            bds.setDriverClassName(driver);
            bds.setUrl(url);
            bds.setUsername(username);
            bds.setPassword(password);
            bds.setInitialSize(Integer.valueOf(initialSize));
            bds.setMaxTotal(Integer.valueOf(maxTotal));
            bds.setMaxWaitMillis(Integer.valueOf(maxWaitMillis));
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    public static Connection getConn() throws Exception {
        Connection conn = bds.getConnection();
        System.out.println("conn");
        return conn;
    }
}

原文地址:https://www.cnblogs.com/WaterGe/p/11073263.html

时间: 2024-12-29 12:23:57

使用配置文件的方式构建数据库连接工具类范例(DBCP)的相关文章

数据库连接工具类 数据库连接工具类——仅仅获得连接对象 ConnDB.java

package com.util; import java.sql.Connection; import java.sql.DriverManager; /** * 数据库连接工具类——仅仅获得连接对象 * */ public class ConnDB { private static Connection conn = null; private static final String DRIVER_NAME = "com.mysql.jdbc.Driver"; private st

数据库连接工具类——包含取得连接和关闭资源 ConnUtil.java

package com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * @className: ConnUtil.java * @classDescription: 数据库连接工具类——包含取得连接和关闭资源 * @fun

自定义数据库连接工具类

这是一个代码质量比较高的Util.这里写了两种,一种是原始的,一种是使用C3P0的.数据库使用的是MySQL5.7. 使用框架开发的时候根本不需要写这些东西.其实框架也是这样封装的,但提供的功能会很丰富.这里展现的是思路,供参考. 功能齐全的Dao工具类 DriverManager获取连接的Util: package util; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManage

PHP 数据库连接工具类(MySQLI函数包装)

====================mysql===================== <?php class mysql { private $mysqli; private $result; /** * 数据库连接 * @param $config 配置数组 */ public function connect($config) { $host = $config['host']; //主机地址 $username = $config['username'];//用户名 $passwo

mysql数据库连接工具类C3P0

1 package com.dl.network_flow.db; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSet; 6 import java.sql.ResultSetMetaData; 7 import java.sql.SQLException; 8 import java.sql.Statement; 9 import java.sql.Ti

工具类之数据库工具类:DBUtil(采用反射机制)

经常操作数据库的码农们一定知道操作数据库是一项很复杂的工作,它不仅要解决各种乱码的问题还要解决各种数据表的增删改查等的操作. 另外每次操作数据库都要用到数据库连接.执行SQL语句.关闭连接的操作,所以在这里我就把这些功能封装到了一个工具类中,该类使用的是反射机制写成的,也就是说它可以帮助你完成对任何数据表的操作.关键代码如下: 首先是配置文件:config.properties driverName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost

理解class.forName() ---使用jdbc方式链接数据库时会经常看到这句代码

目录(?)[-] 官方文档 类装载 两种装载方法的区别 不同的类装载器 是否实例化类 在jdbc链接数据库中的应用 资源 原文地址:http://yanwushu.sinaapp.com/class_forname/ 使用jdbc方式链接数据库时会经常看到这句代码:Class.forName(String className).本文将浅显地解读这句代码的含义.看这篇文章之前应该对java的反射机制有所了解,至少是对Class类有一定的了解. 官方文档 初始化参数指定的类,并且返回此类对应的Cla

2. Code First Migrations With Entity Framework【EF中 Code-First 方式的数据库迁移】

前面的文章中,学习了EF 中的几种关系,一对一,一对多,多对多.但是相信大家肯定会有疑问: 1.我难道每次都要创建数据库么? 2.我怎么样从已经存在的表中,添加字段和移除字段呢? 3.当我向表中,添加字段或者移除字段,我怎么来避免丢失数据呢? 4.当数据库发生改变的时候,我怎么获取到创建数据库的脚本呢? 不用着急,这篇文章,我会向大家一一讲到: 首先,说说我们为什么要使用数据库迁移技术吧,因为我们的实体总是变动地很频繁,在上篇文章中,我们使用了数据库初始化策略来做,也就是每次当数据库不存在的时候

DataAccess通用数据库访问类,简单易用,功能强悍

以下是我编写的DataAccess通用数据库访问类,简单易用,支持:内联式创建多个参数.支持多事务提交.支持参数复用.支持更换数据库类型,希望能帮到大家,若需支持查出来后转换成实体,可以自行扩展datarow转实体类,也可以搭配dapper.net实现更强大的功能. /// <summary> /// 通用数据库访问类,支持多种数据库,无直接依赖某个数据库组件 /// 作者:左文俊 /// 日期:2016-6-3 /// </summary> public class DataAc