JDBC_数据库连接池DRUID

时间:2020-11-30 05:23:34
 /**
  * @Description: TODO(这里用一句话描述这个类的作用)
  * @Author aikang
  * @Date 2019/8/26 20:12
  */
 /*
 1.数据库连接池:
     1.概念:其实就是一个容器(集合),存放数据库连接的容器
           当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完后将连接对象归还容器
     2.好处:
         1.节约资源
         2.用户访问高效
     3.实现:
         1.标准接口:DataSource javax.sql包下的
             1.方法:
                 获取连接:getConnection()
                 归还连接:如果连接对象Connection是从连接池中获取的,name调用Connection.close()方法,则不会再关闭连接了,而是归还连接
         2.一般我们不去实现它,由数据库厂商来实现
             1.c3p0:数据库连接池技术
                 1.步骤:
                     1.导入jar包,两个
                     2.定义配置文件:
                         名称:c3p0.properties or c3p0-config.xml
                         路径:直接将文件放在src目录下即可
                     3.创建核心对象:数据库连接池对象ComboPooledDataSource
                     4.获取连接:getConnection()*/

             /*2.Druid:数据库连接池实现技术,由阿里巴巴提供的
                 1.步骤:
                     1.导入jar包
                     2.定义配置文件
                         1.是properties
                         2.可以叫任意名称,可以放置任意目录
                         加载配置文件
                         1 = new properties
                         2 = 本类.class.getClassLoader.getResourceAsStream(文件名)
                         3 = 1.load(2)
                         获取连接池对象
                         4 = DruidDataSourceFactory.createDataSource(1)
                         获取连接
                         4.getConnection
                     3.获取数据库连接池对象,通过工厂类获取 DruidDataSourceFactory
                     4.获取连接:getConnection()*/
 public class JDBCTest02 {
     public static void main(String[] args) throws Exception {
         // 1.导入jar包
         //2.定义配置文件
         //3.加载配置文件
         Properties properties = new Properties();
         InputStream druid = JDBCTest02.class.getClassLoader().getResourceAsStream("druid.properties");
         properties.load(druid);
         //4.获取连接池对象
         DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
         //5.获取连接
         Connection connection = dataSource.getConnection();
         System.out.println(connection);
     }
 }