声微饭否

博客园 首页 新随笔 联系 订阅 管理

                      DBUTILS 

dbutils是apeach公司 封装了jdbc的jar包用来 便捷操作数据库:

  核心类:QueryRunnner -----> 核心方法:query()查询  update()增删改

  具体使用:1.导入jar包  添加为依赖

       2.使用Mvc三层设计建立包Service ,View,Dao  另外还需要建立实体类,实体类的作用是用来与表中数据相对应

        将数据封装在实体类对象中便于对其操作

       2.在Dao层编写相关的接口和方法 用于与数据库连接并操作数据库

       3.在Service层编写相应的接口和方法 调用 Dao层的方法来进行 逻辑操作。

       4.在View层调用Service层方法 将返回的数据进行页面展示.

  具体代码细节:

    //创建连接池 以c3p0为例:

        DataSource ds =new ComboPooledDataSouce();

    //创建QueryRunner对象:需要传入连接池对象

        QueryRunner qr =nw QueryRunner(ds );

        ds.update()  //增删改操作 返回的是int值 表示影响的行数

        ds.query()  // 查询操作 根据参数列表的不同返回值类型也不同 ,分为一下几类:

一 ,ArrayHandler -> 将结果第一行存储到对象数组中   

      示例: Object[] result = runner.query(sql,new ArrayHandler());

二,ArrayListHandler -> 将结果集的每一行,封装到对象数组中,对象数组存储在List集合中  

     示例:List<Obejct[]> list = runner.query(sql,new ArrayListHandler());

三,BeanHandler -> 将结果集的第一行数据,封装成JavaBean对象(必须带有空参构造函数)

     示例:User user = runner.query(sql,new BeanHandler<User>(User.class));

四,BeanListHandler -> 将结果集的每一行数据,封装成JavaBean对象,并把所有的对象存储到List集合中

      示例:List<User> list = runner.query(sql,new BeanListHandler<User>(User.class));

五,ColumnListHandler -> 存储指定列数据的结果集 存储到List集合中 每一列的数据类型不一样 List的存储类型应该是Object

      示例:List<Object> list = runner.query(sql,new ColumnListHandler<Object>("c_name"));

六,ScalarHandler -> 查询后只返回一个结果 ,(比如查询总列数)

      示例:int count = runner.query(sql,new ScalarHandler<Integer>());

七,MapHandler -> 将结果集的第一行数据,封装在Map集合中,Map(列名,Value)的形式存储

      示例:Map<String,Object> map = runner.query(sql,new MapHandler());

八,MapListHandler -> 将结果集的每一行数据,以Map<列名,Value>封装在Map集合中,并将所有的Map集合存储在List中

       示例:List<Map<String,Object>> list = runner.query(sql,new MapListHandler());

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

posted on 2020-08-06 21:51  声微饭否  阅读(152)  评论(0编辑  收藏  举报