复习:
JDBC规范:
1.导入jar包
2.加载驱动 com.mysql.cj.jdbc.Driver
3.获取连接 DriverManager -> Connection
url username password
url -> jdbc:mysql://localhost:3306/database
jdbc:mysql:///database
4.定义sql
Statement / preparedStatement(预编译对象)
5.执行sql:
execute() -> boolean
DQL/DML/DDL
executeUpdate() -> int
DML
executeQuery() -> ResultSet
DQL
6.如果有结果,处理结果ResultSet -> next()
7.释放资源
prepareStatement(预编译对象)
select * from user where id = ?
JDBC的封装 -> 封装成工具类 -> 配置文件
_______________________________________
数据库连接池
1.概念:其实就是一个容器,存放数据库连接的容器.
当系统初始化好后,这个容器就会被创建,在容器中会申请一些连接对象,
当用户来访问数据库时,就会从容器中获取连接对象
当用户访问完之后,会将连接对象归还给容器.
2.好处:
节约资源
3.实现:
a.标准接口: DataSource -> javax.sql包
方法:
获取连接: getConnection()
归还连接: Connection.close()
b.市面上常见的连接池
a.Apache - dbcp
b.c3p0
c.阿里 - druid
_________________________________________________
C3P0连接池:
4.使用第三方连接池步骤:
a.导入jar包
c3p0-0.9.5.2.jar
mchange-commons-java-0.2.11.jar
b.定义配置文件:
名称(固定形式): c3p0.properties 或者 c3p0-config.xml
存放配置文件的路径: 必须在类路径的根目录下 - 可以理解成存在文件src目录下
c.创建数据库连接池对象: ComboPoolDtataSource
d.获取连接: getConnection
5.JDBC的连接 和 连接池连接的区别
a.通过连接池获取的连接关闭后,
连接对象返回给连接池,它的引用会设置为null
b.通过JDBC获取的连接关闭后,
连接对象还在,但是状态是'已关闭状态'是不能再使用的.
_________________________________________________
Druid连接池:
1.使用步骤:
a.导入jar包
b.定义配置文件:
是properties形式,可以是任意名称,可以放在任意目录下
(意味着不会自动加载,需要手动调用)
c.加载配置文件. xx.properties
d.获取数据库连接池对象:
通过工厂方式来获取: DruidDataSourceFactory
e.获取连接: getConnection
2.定义工具类
a.定义一个类(类名随意) DruidUtils
b.提供静态代码块加载配置文件,初始化连接池对象
c.提供方法
①.获取连接方法:通过数据库连接池获取连接
②.获取连接池的方法
③.释放资源
练习: 对emp表进行URUD操作
1.增加数据
2.修改数据
3.删除数据
4.查询数据
a.根据id查询
b.查询所有数据
c.查询总数量
_________________________________________________
JDBCTemplate -> DBUtils(Apache)
1.Spring框架对JDBC的简单封装
提供了一个JDBCTemplate对象来简化JDBC的开发
2.使用步骤:
a.导入jar包
b.创建JDBCTemplate对象,依赖于DataSource
c.调用JDBCTemplat的方法来完成CRUD操作
3.常用方法:
update():DML语句 增删改操作
queryForMap():查询结果将结果集封装成map集合
queryForList():查询结果将结果集封装成list集合
query():查询结果将结果集封装成JavaBean对象
queryForObject():查询结果,将结果封装成对象