当前位置:Gxlcms > 数据库问题 > JDBC连接池

JDBC连接池

时间: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   

人气教程排行