美文网首页
数据库连接池

数据库连接池

作者: 傲骨天成科技 | 来源:发表于2020-08-26 16:38 被阅读0次

数据库连接池

 *1.概念:其实就是一个容器(集合),存放数据库连接的容器。
               当系统初始化后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。
  *2.好处:
        1.节约资源
        2.用户访问高效

  *3.实现:
       1.标准接口:DataSource    javax.sql包下的
            1.方法:
                  *获取连接:getConnection();
                  *归还连接:Connection.close() 如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法则不会再关闭连接了。而是归还连接了
       2.一般我们不去实现它,由数据库厂商去实现。一般厂商也用第三方开源的
             1.C3P0:数据库连接池技术(这个比较老)
             2.Druid:  数据库连接池技术,由阿里巴巴提供的

C3P0:数据库连接技术

       1.步骤:
           1.导入jar包   c3p0-0.9.5.5-sources.jar、mchange-commons-java-0.2.19-sources.jar,不要忘记导入数据库的驱动jar包
           2.定义配置文件:
              名称: c3p0.properties 或者 c3p0-config.xml
              路径:直接将文件放在src目录下即可。
           3.创建核心对象,数据库连接池对象 ComboPooledDataSource
           4.获取连接:getConnection()

Druid:数据库连接池实现技术,由阿里巴巴技术团队提供

     1.步骤:
          1.导入jar包:druid-1.1.21.jar包
          2.定义配置文件:
                 *特点:
                     *是properties形式的
                     *可以叫任意名称,可以放在任意目录下
          3.加载配置文件:Properties 
               Properties properties = new Properties();
               InputStream inputStream = DruidDemo1.class.getClassLoader().getResourceAsStream("druid.properties");

               properties.load(inputStream);
          4.获取数据库连接池对象:通过工厂类获取DruidDataSourceFactory
               DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
          5.获取连接:getConnection()

    2.定义工具类
           1.定义一个类JDBCUtils
           2.提供静态代码块加载配置文件,初始化连接池对象
           3.提供方法
                1.获取连接方法:通过数据库连接池
                2.释放资源
                3.获取连接池方法

Spring JDBC

    *Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发
    *步骤:
         1.导入jar包
         2.创建jdbcTemplate对象,依赖数据源DataSource
               *JdbcTemplate template = new JdbcTemplate(ds);
         3.调用JdbcTemplate的方法来完成CRUD(增删改查)的操作。
             *update() : 执行DML语句:增删改语句
             *queryForMap(): 查询结果将结果集封装成map集合            
                 *注意:这个方法查询的结果集长度只能为1
             *queryForList():  查询结果将结果封装为list集合
                  *注意:将每一条记录封装成一个map集合,再将map结合装到list集合中
             *query():  查询结果,将结果集封装成JavaBean对象
                *注意:query的参数:RowMapper
                       一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
                       new BeanPropertyRowMapper<类型>(类型.class)
             *queryForObject:  查询结果,将结果封装为对象。
                      一般用于聚合函数的查询

相关文章

网友评论

      本文标题:数据库连接池

      本文链接:https://www.haomeiwen.com/subject/yhtzjktx.html