一、JDBC的概念:Java DataBase Connectivity用Java语言操作数据库(通过SQL)
二、数据库的驱动和JDBC的关系
三、编写JDBC的步骤:
a、注册驱动
b、建立与数据库的链接
c、创建代表语句的对象
d、执行语句
e、如果有结果集,进行遍历
f、释放资源
四、JDBC相关类和接口的详解
1、DriverManager
注册驱动
获取与数据库的链接
2、Connection
所有的与数据库的交互都是基于该接口
功能:
创建代表SQL语句的对象(普通语句,预编译语句,调用存储过程)
事务控制
事务隔离级别控制
数据库元数据信息的获取
3、Statement
执行SQL语句:executeQuery executeUpdate
执行批处理
4、ResultSet
应该把查询到的结果封装到JavaBean中
5、PreparedStatement(首选)
参数采用占位符
防止sql注入
预编译SQL语句,执行效率高
五、释放资源
抽取了JDBC工具类(切换数据库方便)
编码有模板
六、基本的CRUD操作
七、在真实案例中写了一个Dao实现(用户注册和登录案例)
八、JavaWeb案例:客户信息管理 CRUD
九、大数据的存取:Clob和Blob
十、批处理SQL语句:提高数据库的利用率(执行效率)
十一、JDBC如何调用数据库中的存储过程
SQL: {call 存储过程名(?,?)}
输入参数要给值;输出参数要注册数据类型(java.sql.Type)
十二、事务入门
MySQL:start transaction;commit;rollback;
JDBC:conn.setAutocommit(false) commit() rollback()
十三、事务的特性(原子性 一致性 持久性 隔离性)
十四、隔离性专题:
概念:脏读、不可重复读、虚读
防止这些不正确的情况,通过调整隔离级别:
READ UNCOMMITTED
READ COMMITTED
REPEATABLE READ
SERIALIZABLE
级别越高,效率越低,同时数据越安全
开启事务前必须设置隔离级别
十五、链接池原理
连接池:提高效率
包装设计模式
动态代理
十六、开源数据源
DBCP
C3P0
获取TomcatJNDI中的数据源:会配置
十七、数据库元数据信息的获取(为编写框架做准备)
十八、编写自己的JDBC框架(只是对JDBC编码进行了简化)
策略设计模式:ResultSetHandler接口
十九、DBUtils框架QueryRunner的基本使用
批处理;查询;DML
二十、DBUtils中的ResultSetHandler的实现类详解
封装的是结果集
二十一、ThreadLocal(很重要。线程局部变量)
二十二、实际开发中如何控制事务
1、DAO只负责CRUD
2、面向切面编程:借助动态代理
二十三、利用DBUtils进行多表操作(对学习Hibernate非常有帮助)
一对多
多对多
一对一
重点:表如何设计;类如何设计;他们间的对应关系必须清楚
表的关系通过外键进行关联
对象间的关系通过关联进行引用的
二十四、大结果集的分页(提高效率)
MySQL:limit M,N
M开始记录的索引
N每次取多少条
抽取了公用的代码:Page.java Page.jsp