一、数据库连接池
1、什么是数据库连接池?
2、DataSource 接口 (数据源接口 数据源的具体实现,实现该接口)
3、什么是数据源?
3.1、DBCP 数据源
3.1.1通过BasicDataSource类直接创建数据源
3.1.2通过工厂类BasicDataSourceFactory 读取 配置文件 创建
3.2、c3p0 数据源
3.2.1通过ComboPooledDataSource()构造方法创建数据源
3.2.2通过ComboPooledDataSource(String configName) 读取 配置文件 创建
等
二、DBCP


/*** @PackageName:cn.qccr.jdbc.pool DBCP是数据源区别C3PO 等其他数据源* @ClassName:DBCPPoolExample01* @Description: 第一种实现数据源方式 通过 阿帕奇开源组织 的 DBCP - BasicDataSource对象* @Author:lyg* @Date:2021/11/22 15:15*/public class BasicDataSourceExample01 {public static DataSource ds = null;static {// 获取DBCP 数据源实现类对象BasicDataSource bds = new BasicDataSource();// 设置连接数据库需要的 配置信息bds.setDriverClassName("com.mysql.jdbc.Driver");bds.setUrl("jdbc:mysql://mysql001.daily.yunhumjk.com:3306/order");bds.setUsername("admin");bds.setPassword("Adminyunhu123+");// 设置连接池参数bds.setInitialSize(5);bds.setMaxActive(5);ds = bds;}public static void main(String[] args) throws SQLException {// 获取数据库连接对象Connection conn = ds.getConnection();//获取数据库连接信息final DatabaseMetaData metaData = conn.getMetaData();//打印数据库连接信息System.out.println(metaData.getURL() + "; username=" + metaData.getUserName() + "; " + metaData.getDriverName());}}

/*** @PackageName:cn.qccr.jdbc.pool DBCP是数据源区别C3PO 等其他数据源* @ClassName:DBCPPoolExample01* @Description: 第一种实现数据源方式 通过 阿帕奇开源组织 的 DBCP -* BasicDataSourceFactory对象 通过配置文件形式加载数据源配置信息** @Author:lyg* @Date:2021/11/22 15:15*/public class BasicDataSourceFactoryExample01 {public static DataSource ds = null;static {// 创建一个配置文件对象Properties prop = new Properties();try {InputStream io = new BasicDataSourceFactoryExample01().getClass().getClassLoader().getResourceAsStream("config/dbcpconfig.properties");// 把文件已输入流的形式加载到配置对象中prop.load(io);// 创建数据流对象ds = BasicDataSourceFactory.createDataSource(prop);} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) throws SQLException {// 获取数据库连接对象Connection conn = ds.getConnection();//获取数据库连接信息final DatabaseMetaData metaData = conn.getMetaData();//打印数据库连接信息System.out.println(metaData.getURL() + "; username=" + metaData.getUserName() + "; " + metaData.getDriverName());}}
三、c3p0


