封装一个简单的JDBC连接池

封装一个简单的JDBC连接池

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

import com.alibaba.druid.pool.DruidDataSource;


public class JDBCUtils {
	private static String  driver ;
	private static String url;
	private static String username;
	private static String password;
	private static DruidDataSource dds;
	//读取配置文件
	static {
		readPropertues();
		dds = new DruidDataSource();
		dds.setDriverClassName(driver);
		dds.setUrl(url);
		dds.setUsername(username);
		dds.setPassword(password);
		//设置初始化数量,让连接池一开始就初始化连接,需要调用init()方法
		dds.setInitialSize(8);
		try {
			dds.init();
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
}
	//读取配置文件
	public static void readPropertues() {
		Properties prop = new Properties();
		String path = JDBCUtils.class.getResource("/").getPath();
		FileInputStream fis = null;
		try {
			fis = new FileInputStream(path + "data.properties");
			prop.load(fis);
			driver = prop.getProperty("driver");
			url = prop.getProperty("url");
			username = prop.getProperty("userName");
			password = prop.getProperty("passWord");
			} catch (FileNotFoundException e) {
			throw new RuntimeException("未找到配置文件");
		} catch (IOException e) {
			throw new RuntimeException("读取配置文件失败");
			}
	}
	//获取连接
	public static Connection getConnection() {
	     try {
			return dds.getConnection();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		throw new RuntimeException("获取连接失败");
	}
	//关闭连接
	public static void close(Connection connection) {
		if(connection != null) {
			try {
				connection.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				throw new RuntimeException("关闭连接失败");
			}
		}
	}
	
}

建立一个data.properties配置文件

url=jdbc:mysql://localhost:3306/manger?useUnicode=true&characterEncoding=utf-8
userName=
passWord=
driver=com.mysql.jdbc.Driver

mysql8版本的数据库
JDBC driver 由“com.mysql.jdbc.Driver”改为“com.mysql.cj.jdbc.Driver”
相应的驱动包应该改为:
mysql-connector-java-8.0.11.jar
避免导致连接失败

我本人使用的mysql版本为5.6.44
druid jar包为druid-1.0.12.jar
如果你使用的是高版本的mysql数据库请自行下载对应的druid jar包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值