时间:2021-07-01 10:21:17 帮助过:13人阅读
QueryRunner核心类
QueryRunner(DataSource ds) ,提供数据源(连接池),DBUtils底层自动维护连接connection
update(String sql, Object... params) ,执行更新数据 insert update delete
query(String sql, ResultSetHandler<T> rsh, Object... params) ,执行查询 select
对数据库中的分类表进行 增删改
* QueryRunner 执行sql语句
* 构造方法
* QueryRunner() 如果使用空参数创建对象 连接对象需要自己维护
* QueryRunner(DataSource ds) 如果使用带参构造创建对象 连接不需要我们维护
* 方法
* update(Connection con ,String sql ,Object...params)
* update(String sql,Object...params)
* 对数据中分类进行查询
* QueryRunner
* <T> T query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)
* <T> T query(String sql, ResultSetHandler<T> rsh, Object... params)
* 参数
* String sql :sql语句支持预编译
* ResultSetHandler:接口 ,根据查询结果的不同,传入不同实现类 返回不同的结果
* Object...params:对sql语句的?赋值
ResultSetHandler结果集处理类:方法集
<封装数组>
* ArrayHandler 将查询结果的第一条记录封装到一个Object数组中
* 一般情况都是在查询一条记录时使用
定义集合: new ArrayHandler()
* ArrayListHandler
* 将查询结果中的每条记录都封装到一个Object数组中
* 将多个Objct数组放入一个List集合中
*
* 查询多条记录时使用
* 查询所有分类记录
定义集合:new ArrayListHandler()
<封装为对象>
* BeanHandler
* 将查询结果的第一条记录封装到一个JavaBean对象中
* 一般情况都是在查询一条记录时使用
*
* 构造方法需要给出要封装的对象的数据类型
*
* 查询分类表中id=3的商品信息
定义集合<把数据封装到对象>:new BeanHandler<对象>(对象.class)
* BeanListHandler
* 将查询结果的每条记录封装到一个JavaBean对象中
* 将每个JavaBean对象 封装到一个List集合中
*
* 查询多条记录时使用
* 查询所有分类记录
定义封装对象的list集合<先把数据封装到对象再把对象加到集合>:new BeanListHandler<对象>(对象.class)
<封装为一列>
* ColumnListHandler
* 将查询结果的一列数据 封装到一个List集合
*
* 查询所有商品名称
定义集合:ColumnListHandler<String>("要查找的元素");
<封装一个结果>
* ScalarHandler
* 只有一个查询结果的时候可以使用
* 一般情况都是使用聚合函数后 获取结果 使用
*
<封装到map集合>
* MapHandler
* 将结果集的第一条记录封装到一个Map集合
* 键:String 列名
* 值:object 对应的查询到的值
*
* 一般情况都是在查询一条记录时使用
定义一个集合: new MapHandler() key就是字段名称,value就是字段值
* MapListHandler
* 将结果集中每一条记录封装到了Map<String,Object>集合中,key就是字段名称,value就是字段值,
在将这些Map封装到List集合中。
定义一个方法,查询用户表,获得所有用户的所有信息,返回一个Map集合(Map集合的key是用户id,value是每一个用户的信息,也是一个Map集合。)
*KeyedHandler<Integer> kh = new KeyedHandler<Integer>("id");
*Map<Integer, Map<String, Object>>query = qr.query(sql, kh);
JDBC连接池
标签:ram 参数 概述 名称 组件 lis dbcp select nec