一、JDBC简介
JDBC:Java DataBase Connectivity,是SUN推出的操作数据库的规范。
JDBC和数据库驱动:规范和实现的关系。
二、JDBC的开发步骤
0、搭建开发环境:把数据库驱动的jar包加入加入目录
1、注册驱动
2、获取与数据库的链接
3、创建代表SQL语句的对象
4、执行SQL语句
5、如果是查询语句:返回结果集
6、释放资源
三、JDBC规范中常用的接口或类
1、DriverManager
作用:
a.注册驱动
缺点:
1、严重依赖具体的数据库驱动
2、导致数据驱动注册2遍
方式二:(推荐)
Class.forName("com.mysql.jdbc.Driver");
b.获取与数据库的链接
方式一:
Connection conn =
DriverManager.getConnection("jdbc:mysql://localhost:3306/day15",
"root", "sorry");
String url:JDBC与数据库厂商的协议。具体参考数据库的文档。
Oracle:jdbc:oracle:thin:@localhost:1521:orcl 瘦客户端链接方式
jdbc:oracle:client:@localhost:1521:orcl 客户端链接方式,高效
2、Connection
作用:所有与数据库的交互都是基于链接的。
Statement createStatement():创建代表SQL语句的对象
3、Statement
作用:代表SQL语句对象
常用方法:
ResultSet executeQuery(String sql):执行查询,返回结果集。
int executeUpdate(String sql):执行DML语句。返回的是SQL语句影响到的记录条数。
boolean execute(String sql):执行任何的SQL语句。返回值不代表成功与否。如果执行的语句有结果集,返回true,否则返回false。
4、ResultSet
//封装:把结果搞到实体Bean(Domain),模型
image.png
常用的方法:
boolean next():向下移动。返回有没有记录
boolean provious():向上移动。返回有没有记录
boolean absolute(int row):定位。返回有没有记录。看第2条,写2.
void beforeFirst():移动到第一条记录的前面。
void afterLast():移动到最后一条记录的后面。
释放资源:
四、抽取JDBC的工具类
五、JDBC进行表单的CRUD
六、改写用户注册和登录案例
1、自定义Dao运行时异常
2、利用工厂模式对业务处理层和Dao层进行解耦
3、问题:
添加或修改数据时,dao实现写的sql语句不是很方便。
执行的效率不是很高
存在SQL注入的问题
七、PreparedStatement接口
原则:能用PreparedStatement就不要使用Statement
优点:
参数使用占位符(?)替代
预编SQL语句,执行效率高
不存在SQL注入问题
八、单表案例:客户信息管理Web工程
网友评论