JDBC的使用阶段,从一般到第三方架构包(.jar)

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: 增删改

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值