//配置文件
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/forum?useUnicode=true&characterEncoding=utf-8&useSSL=false
username=root
password=123456
initialSize=10
maxActive=3
package com.example.forum.util;
import org.apache.commons.dbcp2.BasicDataSourceFactory;
import javax.sql.DataSource;
import java.io.InputStream;
import java.util.Properties;
/**
* ClassName: DataSourceUtil
* Package: com.example.forum.util
* Description:
*
* 数据库连接池工具类
*
* @Author slq
* @Create 2023/10/30 18:06
* @Version 1.0
*/
public class DataSourceUtil {
private static DataSource dataSource;
/**
* 以下代码是Java中读取配置文件并创建数据库连接池的代码。
*
* 通过DataSourceUtil.class.getClassLoader().getResourceAsStream("forum.properties")获取forum.properties这个文件的输入流,
* 其中forum.properties是一个配置文件,它存储了数据库相关的配置信息,比如数据库连接地址、用户名、密码等。
*
* 创建一个Properties对象,并通过properties.load(in)方法将刚才读取到的配置信息加载到Properties对象中。
*
* 通过BasicDataSourceFactory.createDataSource(properties)方法根据Properties对象中的配置信息创建一个BasicDataSource对象,即数据库连接池。
* BasicDataSource是Apache Commons DBCP项目中提供的一个开源数据库连接池实现,它可以管理一定数量的数据库连接,当需要访问数据库时,
* 从连接池中获取一个可用的连接,使用完毕后再将连接归还给连接池。
*/
static {
try {
InputStream in=DataSourceUtil.class.getClassLoader().getResourceAsStream("forum.properties");
Properties properties=new Properties();
properties.load(in);
dataSource=BasicDataSourceFactory.createDataSource(properties);
}catch(Exception e){
e.printStackTrace();
}
}
/**
* 获取连接池
* @return
*/
public static DataSource getDataSource(){
return dataSource;
}
}