• Dbutils 详解


    Common Dbutils是操作数据库的组件,对传统操作数据库的类进行二 次封装,可以把结果集转化成List。


    DBUtils包括3个包:
    org.apache.commons.dbutils 
    org.apache.commons.dbutils.handlers 
    org.apache.commons.dbutils.wrappers
    DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。
     
    org.apache.commons.dbutils
    DbUtils 关闭链接等操作
    QueryRunner 进行查询的操作
     
    org.apache.commons.dbutils.handlers
    ArrayHandler :将ResultSet中第一行的数据转化成对象数组
    ArrayListHandler将ResultSet中所有的数据转化成List,List中存放的是 Object[]
    BeanHandler :将ResultSet中第一行的数据转化成类对象
    BeanListHandler :将ResultSet中所有的数据转化成List,List中存放的是类对象
    ColumnListHandler :将ResultSet中某一列的数据存成List,List中存放的是 Object对象
    KeyedHandler :将ResultSet中存成映射,key为某一列对应为Map。Map中存放的是数 据
    MapHandler :将ResultSet中第一行的数据存成Map映射
    MapListHandler :将ResultSet中所有的数据存成List。List中存放的是Map
    ScalarHandler :将ResultSet中一条记录的其中某一列的数据存成Object
     
    org.apache.commons.dbutils.wrappers
    SqlNullCheckedResultSet :对ResultSet进行操作,改版里面的值
    StringTrimmedResultSet :去除ResultSet中中字段的左右空格。Trim()
     

    主要方法:

     

    DbUtils类:启动类

    ResultSetHandler接口:转换类型接口

    MapListHandler类:实现类,把记录转化成List

    BeanListHandler类:实现类,把记录转化成List,使记录为JavaBean类型的对象

    Qrery Runner类:执行SQL语句的类

     

    建立三个Java文件

    命名为BeanListExample.java

    Guestbook.java

    MapListExample.java
     

    源码:

    BeanListExample.java

     

    Code
     package  com.sy;

     import  org.apache.commons.dbutils.DbUtils;
     import  org.apache.commons.dbutils.QueryRunner;
     import  org.apache.commons.dbutils.handlers.BeanListHandler;
     import  java.sql.Connection;
     import  java.sql.DriverManager;
     import  java.sql.SQLException;
     import  java.util.List;

     public   class  BeanListExample  {
        
     public   static   void  main(String[] args)  {
            Connection conn 
     =   null ;
            String url 
     =   " jdbc:mysql://localhost:3306/people " ;
            String jdbcDriver 
     =   " com.mysql.jdbc.Driver " ;
            String user 
     =   " root " ;
            String password 
     =   " hicc " ;

            DbUtils.loadDriver(jdbcDriver);
            
     try   {
                conn 
     =  DriverManager.getConnection(url, user, password);
                QueryRunner qr 
     =   new  QueryRunner();
                List results 
     =  (List) qr.query(conn,  " select id,name from guestbook "  new  BeanListHandler(Guestbook. class ));
                
     for  ( int  i  =   0 ; i  <  results.size(); i ++  {
                    Guestbook gb 
     =  (Guestbook) results.get(i);
                    System.out.println(
     " id: "   +  gb.getId()  +   " ,name: "   +  gb.getName());
                }
     

             }
     
      catch  (SQLException e)  {
                e.printStackTrace();
            }
     
      finally   {
                DbUtils.closeQuietly(conn);
            }
     

        }
     

    }
     

     

    Guestbook.java

     

     

    Code
     package  com.sy;

     public   class  Guestbook  {
        
     private  Integer id;
        
     private  String name;

        
     public  Integer getId()  {
            
     return  id;
        }
     

     
         
     public   void  setId(Integer id)  {
            
     this .id  =  id;
        }
     

     
         
     public  String getName()  {
            
     return  name;
        }
     

     
         
     public   void  setName(String name)  {
            
     this .name  =  name;
        }
     

    }
     

     

    MapListExample.java

     

    Code
     package  com.sy;

     import  org.apache.commons.dbutils.DbUtils;
     import  org.apache.commons.dbutils.QueryRunner;
     import  org.apache.commons.dbutils.handlers.MapListHandler;

     import  java.sql.Connection;
     import  java.sql.DriverManager;
     import  java.sql.SQLException;

     import  java.util.List;
     import  java.util.Map;

     public   class  MapListExample  {
        
     public   static   void  main(String[] args)  {
            Connection conn 
     =   null ;
            String url 
     =   " jdbc:mysql://localhost:3306/people " ;
            String jdbcDriver 
     =   " com.mysql.jdbc.Driver " ;
            String user 
     =   " root " ;
            String password 
     =   " hicc " ;

            DbUtils.loadDriver(jdbcDriver);
            
     try   {
                conn 
     =  DriverManager.getConnection(url, user, password);
                QueryRunner qr 
     =   new  QueryRunner();
                List results 
     =  (List) qr.query(conn,  " select id,name from guestmessage "  new  MapListHandler());
                
     for  ( int  i  =   0 ; i  <  results.size(); i ++  {
                    Map map 
     =  (Map) results.get(i);
                    System.out.println(
     " id: "   +  map.get( " id "  +   " ,name: "   +  map.get( " name " ));
                }
     

             }
     
      catch  (SQLException e)  {
                e.printStackTrace();
            }
     
      finally   {
                DbUtils.closeQuietly(conn);
            }
     

        }
     

    }
     

     

    使用组建好需要添加commons
     - dbutils - 1.1 .jar和mysql - connector - java - 5.1 . 6 - bin.jar 两个jar包。

     

    配置完毕!!!

     
     // 另一种方法
     // 使用dbutils1.0版本 
     

     
    import  java.util. * ;
     import  java.util.logging. * ;
     import  java.sql. * ;
     import  org.apache.commons.dbutils. * ;
     import  org.apache.commons.dbutils.handlers. * ;

     public   class  TestDBUnits  {
     
     
     public   static   void  main(String[]args)  throws  Exception  {
      TestDBUnits test 
     =   new  TestDBUnits();
      
      
     for ( int  i  =   0  ; i  <   1  ; i ++  {   
       test.testQuery1();
       test.testQuery2();
       test.testUpdate();
      }
     

     }
     

     
     
     public   void  testQuery1() {
      
     try   {
       QueryRunner qr 
     =   new  QueryRunner() ;
       ResultSetHandler rsh 
     =   new  ArrayListHandler();   
       String strsql 
     =   " select * from test1 " ;   
       ArrayList result 
     =  (ArrayList)qr.query(getConnection() ,strsql ,rsh);
       
     // System.out.print(""); 
     
      } 
      catch (Exception ex)  {
       ex.printStackTrace(System.out);
      }
     

     }
     

     
     
     public   void  testQuery2() {
      
     try   {
       QueryRunner qr 
     =   new  QueryRunner() ;
       ResultSetHandler rsh 
     =   new  MapListHandler();   
       String strsql 
     =   " select * from test1 " ;   
       ArrayList result 
     =  (ArrayList)qr.query(getConnection() ,strsql ,rsh);
       
     for ( int  i  =   0  ; i  <  result.size() ; i ++  {
        Map map 
     =  (Map)result.get(i);
        
     // System.out.println(map);     
     
       } 

       
     // System.out.print(""); 
     
      } 
      catch (Exception ex)  {
       ex.printStackTrace(System.out);
      }
     

     }
     

     
     
     public   void  testUpdate() {
      
     try   {
       QueryRunner qr 
     =   new  QueryRunner() ;
       ResultSetHandler rsh 
     =   new  ArrayListHandler();
       String strsql 
     =   " insert test1(page ,writable ,content)values('ttt','ttt','faskldfjklasdjklfjasdklj') " ;
       qr.update(getConnection() ,strsql);
       
     // System.out.print(""); 
     
      } 
      catch (Exception ex)  {
       ex.printStackTrace(System.out);
      }
     

     }
     

     
     
     private   Connection getConnection()  throws  InstantiationException,
       IllegalAccessException, ClassNotFoundException, SQLException 
     {
      
      String strDriver 
     =   " org.gjt.mm.mysql.Driver " ;
      String strUrl 
     =   " jdbc:mysql://localhost:3306/test " ;
      String strUser 
     =   " root " ;
      String strPass 
     =   "" ;
       
      Class.forName(strDriver).newInstance();  
      
     return  DriverManager.getConnection(strUrl, strUser, strPass);
     }
     

    }
     

  • 相关阅读:
    腾讯招聘爬虫
    中华人民行政部网站爬虫
    百度翻译爬虫
    easyui 对form扩展
    Anaconda 安装和使用
    MongoDB基础教程系列--目录结构
    MongoDB基础教程系列--第九篇 MongoDB 分片
    MongoDB基础教程系列--第八篇 MongoDB 副本集实现复制功能
    MongoDB基础教程系列--第七篇 MongoDB 聚合管道
    MongoDB基础教程系列--第六篇 MongoDB 索引
  • 原文地址:https://www.cnblogs.com/zhuxiangguo/p/2198371.html
Copyright © 2020-2023  润新知