JavaWebDay05
课程大纲
1、JDBC连接池
2、JDBCTemplate(也叫做SpringJDBC)
第一章 JDBC连接池
1、概念和好处
A.概念:
连接池就是一个集合,集合当中存放有多个数据库的连接对象 Connection的对象.(可借可还)
B.好处:
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:/
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(pp);
c.获取连接
Connection conn = ds.getConnection();
第二章 JDBCTemplate
1、含义
由三大框架的 Spring 框架封装的JDBC操作.又称为"JDBCTemplate"
2、操作步骤
A.准备工作
1.导入jar包
a.与JDBCTemplate相关的jar包
commons-logging-1.2.jar
spring-beans-5.0.0.RELEASE.jar
spring-core-5.0.0.RELEASE.jar
spring-jdbc-5.0.0.RELEASE.jar
spring-tx-5.0.0.RELEASE.jar
b.需要有连接池的jar包(在C3P0和Druid当中二选一)
druid-1.0.9.jar
c.需要数据库连接的jar包
mysql-connector-java-5.1.37-bin.jar
2.准备连接池的配置文件 druid.properties
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/java68db02
username=root
password=123
initialSize=5
maxActive=10
maxWait=3000
3.准备工具类
获取连接池的对象
public static DataSource getDataSource() {
return datasource;
}
B.创建对象
JdbcTemplate temp = new JdbcTemplate(ds);
C.调用方法
a.DML的方法
update() 执行"增,删,改"的操作
b.DQL的方法
query() 将查询的结果封装成为 JavaBean (标准学生类)
queryForObject() 将查询的结果封装成为对象 "用于聚合函数的查询"
queryForList() 将查询的结果封装成为List集合 "查询的是多条记录,封装成为List<Map>"
queryForMap() 将查询的结果封装成为Map集合"查询的是一条记录,封装成为Map"
List<ZFBBean> mList = temp.query(sql, new BeanPropertyRowMapper<ZFBBean>(ZFBBean.class));