数据库连接池
1.概念:
其实就是一个集合(容器),集合中存放多个数据库连接的对象。
好处:
a.节约系统资源
b.提升连接效率
2、常见的连接池
A.标准连接池:
javax.sql.DataSource 通用的方法
a.getConnection() 获取连接池的操作
b.close() 归还连接池的操作(归还不是释放资源)
B.其他框架的连接池
a. C3P0 数据库连接池
b. Druid 阿里的连接池
3、C3P0连接池的基本操作步骤
A.准备工作
a.导入jar包
c3p0-0.9.5.2.jar
mchange-commons-java-0.2.12.jar
mysql-connector-java-5.1.37-bin.jar
b.配置文件(写在src文件夹目录下面,名称必须叫以下的名称) 二者选其一
c3p0.properties
c3p0-config.xml
B.编写代码的操作
a.创建对象
DataSource ds = new ComboPooledDataSource();
b.获取连接
Connection conn = ds.getConnection();
4、Druid连接池的使用
A.准备工作
a.导入jar包
druid-1.0.9.jar
mysql-connector-java-5.1.37-bin.jar
b.配置文件(写在src文件夹目录下面)
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///db3
username=root
password=root
initialSize=5
maxActive=10
maxWait=3000
B.编写代码的操作
a.加载配置文件的数据 Properties
Properties pp = new Properties();
InputStream is = 当前类.class.getClassLoader().getResourceAsStream(配置文件的名称);
pp.load(is);
b.获取连接池的对象
DataSource ds = DruidDataSourceFactory.createDataSource(pro);
c.获取连接
Connection conn = ds.getConnection();
JDBCTemplate (又称为 Spring JDBC)
1、含义
由三大框架的 Spring 框架封装的JDBC操作.又称为"JDBCTemplate"
2、操作步骤
A.准备工作
导入jar包
B.创建对象
JdbcTemplate template = new JdbcTemplate(ds); //ds是DataSource 连接池
C.调用方法
a.DML的方法
update() 执行"增,删,改"的操作
b.DQL的方法
query() 将查询的结果封装成为 JavaBean (标准学生类)
queryForObject() 将查询的结果封装成为对象 "用于聚合函数的查询"
queryForList() 将查询的结果封装成为List集合 "查询的是多条记录,封装成为List<Map>"
queryForMap() 将查询的结果封装成为Map集合"查询的是一条记录,封装成为Map"
//案例代码: ZFBBean 是JavaBean的对象【成员变量是包装类类型,名称和数据库列名称相同】
List<ZFBBean> mList = template.query(sql, new BeanPropertyRowMapper<ZFBBean>(ZFBBean.class));
*** JavaBean类中定义基本数据类型成员变量,不能赋值为Null
引用数据类型可以
*** queryForObject 执行聚合函数(用于聚合函数的查询)