JDBC的使用阶段,从一般到第三方架构包(.jar)
JDBC 简介:
java database connectivity (java数据库连接),用来实现数据库和java代码连接的一个中间的桥
应用场景:
在我们学习完java之后又学习了数据库的管理系统MYSQL,我们所有的操作都是基于mysql的客户端命令行的CRUD现在就要用java代码进行对数据库表的数据操作。
java提供了不同数据库厂商的API接口,对于MYSQL数据库我们用java开发用到了9步骤或者简单的6步骤:
用到四接口、两类:
接口:Connection、Statement、PrepareStatement、ResultSet
类:DriverManager、SQLException
1.在项目中创建lib文件夹
2.把masql-connector-java-xxx.jar包放到lib文件夹下,xxx是mysql数据库的版本号
3.右键,add build path 添加jar包如果项目中出现牛奶瓶图标就添加成功
4.加载驱动Class.forName("com.mysql.jdbc.Driver")如果是MYSQL8的版本就是"com.mysql.cj.jdbc.Driver"
5.获取Connection 连接数据库的对象
Connection conn = DriverManager.getConnection();
6.获取声明Statement发送SQL的对象,
Statement sts = conn.createStatement("jdbc:mysql://localhost:3306/person? [useSSL=false &&serviceTimezone=UTC] && characterEnconding=UTF-8" , "root","root");
7.执行Sql语句
String sql = " ";
sts.executeUpdqte||executeQuery(sql);
8.处理结果
9.关闭资源
遵循关闭的原则(先打开的后关闭。后打开的先关闭)
JDBC的进阶:
目的:代码的简化
——————————————————————
DaoUtil数据访问对象的工具类
在这个类中我们抽象了两个方法分别是:
public class DaoUtils{
private Connection getConn = null;
private PreparedStatement pps = null;
public int getUpdate(String sql ,Object ...args){
conn = DriverManager.getConnection();
pps = conn.prepareStatement(sql);
int result = pps.rexecuteUpdate();
return result;
关闭资源;
}
public List<T> getQuery(String sql, RowMapper<T> rowMapper , Object ... args){
conn = DriverManager.getConnection();
pps = conn.prepareStatement(sql);
if(args != null && args.size != 0){
for(int i = 0 ; i<arr.length; i++){
pps.setObject(i+1 ,args[i]);
}
rs = pps.executeQuery();
if( rs != null){
while(rs.next()){
T t = rowMapper.getRow();
return list;
}
}
}
}
Apach 的jar包 DbUtil
这个包定义好了所有我们需要调用就可
ResultSetHandler:结果集处理接口
返回一条数据的对象用BeanHandler
返回所条数据的List集合用BeanListHandler
返回一行或者一列用ScalarHandler
QueryRunner:Sql语句执行类
query:查询数据
update: 增删改