我们以后 开发的时候
使用 java程序 操作 数据库
JDBC
简化 DBUtils
提高性能的 连接池技术
write less do more
1: 创建一个项目
2:创建对应数据库 并且对应数据库中 有表 有数据
3:导包操作
四个jar包
4:使用 DBUtils 技术 完成对数据库表中 数据的增删改查
创建 一个javabean类
javabean类 是符合某种 规则的一种类
A:必须有空参构造
B:私有的属性
C:提供对应set get方法
一般来说我们创建的javabean文件 中的字段 与表中 对应的属性 一模一样
JDBCUtils工具类 里面完成连接池的配置 并且有个获取连接池的方法
(一般开发中只写一次,对于大家来说 复制就可以)
重点记住 需要我们将数据库的配置信息 改成你自己的
5:好了 现在就可以使用 DBUtils技术 完成增删改查了
使用套路 是
1:创建 QueryRunner对象
QueryRunner qr = new QueryRunner(JDBCUtils.getDS());
2: 执行sql语句
String sql = "你要写的sql语句";(sql语句中的参数 变成?占位)
Object[] params = {?对应的哪些值};(按照顺序 写进来皆可以)
如果是增删改查语句
那么 执行的
qr.update(sql,params);
返回值可以要可以不要
返回的是 该条更新 影响了 几行
如果 是查询语句
这个时候
我们可以根据 想要的不同的 处理效果 自己来进行选择
qr.query(sql,rsh,params)
rsh ResultSetHandler
代表 将结果集 以什么形式进行处理
这个参数 是一种处理方式
如果我要处理的是 多行记录
每行记录 都想将结果处理成 一个对象
最终变成多个对象
BeanListHandler 多行处理器 把结果集转换成List<类型>
我 select之后 得到的 是一张二维表,然后我们还要对二维表解析,得到最终的数据,
这种解析 并不是很容易
那么这个时候 DBUtils出来的时候进行优化 ,
提供几种处理方式 这些处理方式 都可以成为ResultSetHandler
有的 数据 想要封装到List集合中 有的 想要封装到Map 中 还有的 想要成为一个对象
BeanHandler:单行处理器,把结果集转换成一个对象,该处理器需要一个Class类型参数 类名.class
要转换对象的类型
BeanListHandler:多行处理器,把结果集转换成List<类型>
下面两个需要知道
ColumnListHandler:多行单列处理器,把结果集转换成List<Object> ,(写项目的时候 级联的时候要用)
使用的时候指定某一列名称或编号 不写默认是第一列。
ScalarHandler:单行单列处理器 把结果集 使用Object接收 一般用于 聚合函数 比如 统计求和
补充内容 完全不用懂
ArrayHandler :单行处理器,把结果集 的第一行记录 数据 全部存储在一个Object数组中
ArrayListHandler: 多行处理器,把结果集的每一行记录 数据 存储在一个Object数组中 最终在存在List<Object[]>
MapHandler:单行处理器 将结果集转换成 Map<String,Object> 键是列名
MapListHandler:多行处理器 将结果集每一行转换成Map 再将每一个map存储在List
网友评论