zoukankan      html  css  js  c++  java
  • DBUtils

    DBUtils

    DBUtils就是JDBC的简化开发工具包,是为了简化代码提高效率,减少冗余而存在的,而且封装了对JDBC的操作,简化了JDBC操作,可以少写代码。

    Dbutils三个核心功能介绍

     1)QueryRunner中提供对sql语句操作的API.

    2)ResultSetHandler接口,用于定义select操作后,怎样封装结果集.

    3)DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法

    1.1  QueryRunner核心类

    l  update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作

    l  query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作

    1.2  QueryRunner实现添加、更新、删除操作

    l  update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作

    //数据新增操作
    public
    void add() throws SQLException{ //创建QuerryRunner对象 QueryRunner qr=new QueryRunner(MyDBUTils.getDataSource()); String sql="insert into sort(sname,sdesc) values(?,?)"; //执行 int row=qr.update(sql,"插排","通电用的"); System.out.println(row); }
    //数据修改操作
    public
    void update() throws SQLException{ //创建QuerryRunner对象 QueryRunner qr=new QueryRunner(MyDBUTils.getDataSource()); String sql="update sort set sname=? where sid=?"; //执行 int row=qr.update(sql,"牛奶","11"); System.out.println(row); }
    //数据删除操作
    public
    void delete() throws SQLException{ //创建QuerryRunner对象 QueryRunner qr=new QueryRunner(MyDBUTils.getDataSource()); String sql="delete from sort where sid=?"; //执行 int row=qr.update(sql,"16"); System.out.println(row); }

    1.3     QueryRunner实现查询操作

    l  query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params),用来完成表数据的查询操作

     ResultSetHandler结果集处理类

    ArrayHandler

    将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值

    ArrayListHandler

    将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。

    BeanHandler

    将结果集中第一条记录封装到一个指定的javaBean中。

    BeanListHandler

    将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中

    ColumnListHandler

    将结果集中指定的列的字段值,封装到一个List集合中

    ScalarHandler

    它是用于单数据。例如select count(*) from 表操作。

    MapHandler

    将结果集第一行封装到Map<String,Object>集合中,Key 列名, Value 该列数据

    MapListHandler

    将结果集每一行封装到List<Map<String,Object>>集合中,Key 列名, Value 该列数据,Map集合存储到List集合

       ArrayHandler与ArrayListHandler查询

    ArrayHandler:将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值

    //ArrayHandler
        public void get1() throws SQLException{        
            QueryRunner qr=new QueryRunner(MyDBUTils.getDataSource());
            String sql="select * from sort";
            Object[] obj=qr.query(sql,new ArrayHandler());
            for(Object o:obj){
                System.out.print(o+"");
            }
            System.out.println();
        }
        

     ArrayListHandler:将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。

    //ArrayListHandler
        public void get2() throws SQLException{    
            QueryRunner qr=new QueryRunner(MyDBUTils.getDataSource());
            String sql="select * from sort";
            List<Object[]> list=qr.query(sql, new ArrayListHandler());
            for(Object[] objs:list){
                for(Object obj:objs){
                    System.out.print(obj+" ");
                }
                System.out.println();
            }
        }

      BeanHandler与BeanListHandler查询

    l  BeanHandler :将结果集中第一条记录封装到一个指定的javaBean中。

    //BeanHandler
        public void get3() throws SQLException{        
            QueryRunner qr=new QueryRunner(MyDBUTils.getDataSource());
            String sql="select * from sort";
            Sort sort=qr.query(sql, new BeanHandler<Sort>(Sort.class));
            System.out.println(sort);
        }

    l  BeanListHandler :将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中

     //BeanListHandler
        public void get4() throws SQLException{
            
            QueryRunner qr=new QueryRunner(MyDBUTils.getDataSource());
            String sql="select * from sort";
            List<Sort> list=qr.query(sql, new BeanListHandler<Sort>(Sort.class));
            System.out.println(list);
        }

     ColumnListHandler与ScalarHandler查询

    l  ColumnListHandler:将结果集中指定的列的字段值,封装到一个List集合中

     //ColumnListHandler
        public void get5() throws SQLException{        
            QueryRunner qr=new QueryRunner(MyDBUTils.getDataSource());
            String sql="select sname from sort";
            List<String> list=qr.query(sql, new ColumnListHandler<String>());
            System.out.println(list);
        }
        //ColumnListHandler
        public void get6() throws SQLException{
            
            QueryRunner qr=new QueryRunner(MyDBUTils.getDataSource());
            String sql="select * from sort";
            List<String> list=qr.query(sql, new ColumnListHandler<String>("sname"));//重载的构造方法
            System.out.println(list);
        }

    l  ScalarHandler:它是用于单数据。例如select count(*) from 表操作。

    //ScalarHandler
        public void get7() throws SQLException{        
            QueryRunner qr=new QueryRunner(MyDBUTils.getDataSource());
            String sql="select count(*) from sort";
            Long count=qr.query(sql, new ScalarHandler<Long>());
            System.out.println(count.intValue());
        }    
  • 相关阅读:
    AngularJs学习笔记Understanding Angular Templates
    AngularJs学习笔记Creating Services
    AngularJs学习笔记E2E Testing
    AngularJs学习笔记Using $location
    AngularJs学习笔记Injecting Services Into Controllers
    AngularJs学习笔记unittesting
    AngularJs学习笔记Guide教程系列文章索引
    C语言 自幂数
    C# 虚拟键盘核心方法 Tech
    [转]SQLite SQL语句结构详解 Tech
  • 原文地址:https://www.cnblogs.com/xinzong/p/14554284.html
Copyright © 2011-2022 走看看