通用数据库访问对象

通用数据库访问对象

功能: 两大类
查询 excuteQuery() 结果集
查询出的数据结果对应java中的不同对象,最后功能返回一个对象的集合
增删改 excuteUpdate() 影响行数

insert into t_user values(?,?,?);

反射:
通过一个类的Class对象的newInstance()方法可以创建这个类型的对象(初始化对象信息时默认调用空构造)
通过一个类的Class对象先获取到这个类中的某个构造器,使用Constructor类的newInstance()方法创建对象(初始化对象信息时默认使用当前这个构造器)

封装增删改的方法。

1.获取连接
2.封装预处理块
3.给sql中的占位符赋值
4.执行sql
5.判断

public boolean testUpdate(String sql,Object[] args){
		boolean flag =true;
		Connection conn=null;
		PreparedStatement state=null;
		//1.获取连接
		try {
			conn=DBUtils.getConnection();
			//2.封装预处理块
			state=conn.prepareStatement(sql);
			//3.给sql中的占位符赋值
			for(int i=0;i<=args.length-1;i++){
				state.setObject(i+1, args[i]);
			}
			//4.执行sql
			int rows=state.executeUpdate();
			//5.判断
			if(rows<=0){
				flag=false;
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		} finally{
			DBUtils.close( state, conn);
		}
		
		return flag;
	}

封装查询功能

1.获取连接
2.封装预处理块
3.给sql中的占位符赋值
4.执行sql
获取结果集中每一条数据的字段(属性,属性和字段保持一致)的个数,字段的名字
5.判断结果集中是否存在数据,一条数据就是一个对象
6.有一条数据就有一个对象 默认调用空构造
7.从结果集中获取某一个字段值 value
8.获取字段名字
9.根据字段名字获取某一个字段
获取这个属性的设置器,通过调用设置器为私有属性赋值
10.给字段设置值
若没有权限
我们就放开权限
field.setAccessible(true);

field.setAccessible(false); //关闭权限

11.把对象放入容器
list.add(obj);

实质上就是把数据库中的数据拿出来给Java中我们创建的对象赋值,把表里的内容用Java表示出来,为查询。

JDBC

实现流程
1、加载驱动(选择数据库)(已经写好的驱动)
通过反射—>Class.forName(“包名+类名”)
获取该类的Class对象

2、获取连接(与数据库建立连接)

3、准备sql
4、准备处理块
5、发送sql到数据库
6、处理数据
7、关闭资源

加载驱动
1、连接 2、关闭

加载驱动需要一个静态块

配置文件
新建一个文件 source
连接数据库的配置文件:
建一个文件File,叫db.properties
driver
url
name
pwd
连接数据库需要加载的驱动直接拿过来用
反射加载驱动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值