A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 雪夜恋阳 初级黑马   /  2017-12-4 16:11  /  726 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

纯概念的技术贴
连接池介绍
1 实际上就是存放连接的池子(容器)
                        2 在开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程
                        3 为了解决此类性能问题,通常情况我们采用连接池技术,来共享连接Connection
                        4 这样我们就不需要每次都创建连接、释放连接了,这些操作都交给了连接池
连接池概念规范
                        1 用池来管理Connection,这样可以重复使用Connection
                        2 不用自己来创建Connection,而是通过池来获取Connection对象
                        3 使用完Connection后,调用Connectionclose()方法也不会真的关闭Connection,而是把Connection“归还”给池
                        4 连接池技术可以完成Connection对象的再次利用
DataSource接口
                        1 Java为数据库连接池提供了公共的接口:javax.sql.DataSource
                        2 各个厂商需要让自己的连接池实现这个接口。这样应用程序可以方便的切换不同厂商的连接池
常见的连接池:DBCPC3P0
DBCP连接池
手动设置:
                BasicDataSource datasource = new BasicDataSource();//创建一个数据库连接池
                datasource.setDriverClassName("com.mysql.jdbc.Driver");
                datasource.setUrl("jdbc:mysql://localhost/tsmysql");
                datasource.setUsername("root");
                datasource.setPassword("tsmysql");//dbcp是一个数据库连接池,管理的是数据库的连接,至于管理哪个数据库需要自己设置
配置文件方式;
Properties properties = new Properties();
properties.load(new FileInputStream("src/dbcp.properties"));
DataSource datasource =BasicDataSourceFactory.createDataSource(properties);//不需要构造方法,直接由静态的方法可以返回一个数据库连接池,需要数据库的配置文件信息
C3P0连接池
手动设置:
ComboPooledDataSource datasource = new ComboPooledDataSource();
                        datasource.setDriverClass("com.mysql.jdbc.Driver");
                        datasource.setJdbcUrl("jdbc:mysql://localhost/tsmysql");
                        datasource.setUser("root");
                        datasource.setPassword("tsmysql");
配置文件方式:创建对象时默认去编译路径下找c3p0-config.xml的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
  <default-config>
          <property name="driverClass">com.mysql.jdbc.Driver</property>
          <property name="jdbcUrl">jdbc:mysql://localhost/tsmysql</property>
          <property name="user">root</property>
          <property name="password">tsmysql</property>
  </default-config>
</c3p0-config>
java代码中只需创建对象即可:
ComboPooledDataSource datasource = new ComboPooledDataSource();

2017-12-04_160628.png (107.74 KB, 下载次数: 2)

2017-12-04_160628.png

1 个回复

倒序浏览
CBDJ
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马