`

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);
 }
 

}
 

 

转自:http://www.blogjava.net/b47248054/articles/326712.html

分享到:
评论

相关推荐

    DButils详解

    * DBUtils详解 * DBUtils是一个用于操作数据库的组件,它对JDBC API进行了二次封装,简化了数据库操作,减少了代码量。 * DBUtils包含三个主要包: * `org.apache.commons.dbutils`:基础包,包含了核心类和接口...

    commons-dbutils-1.4.jar

    《Apache Commons DBUtils详解及其在Java数据库操作中的应用》 Apache Commons DBUtils是Apache软件基金会开发的一个开源项目,它提供了一套简洁、高效且实用的工具类,用于简化Java应用程序中的数据库操作。这个...

    commons-dbutils-1.7.jar

    《Apache Commons DBUtils详解》 Apache Commons DBUtils是一款在Java编程中广泛使用的数据库操作工具库,它的全称为“Apache Commons Database Utilities”。这个小巧且高效的库为开发者提供了方便、安全的数据库...

    commons-dbutils-1.6.jar

    《Apache Commons DBUtils详解》 Apache Commons DBUtils是一款开源的Java数据库工具库,它简化了JDBC编程,为开发者提供了一种简洁、高效且易于使用的API。在标题"commons-dbutils-1.6.jar"中,我们可以看到这是...

    Dbutils_详解.docx

    Dbutils 提供了一个名为 `DbUtils` 的工具类,以及 `QueryRunner` 类,这两个类是其核心组件。 `DbUtils` 类: - 提供了一些静态方法,用于加载 JDBC 驱动、管理数据库连接的生命周期(打开与关闭)以及处理异常。 ...

    课件DBUtils

    DBUtils详解,含函数介绍和使用 QueryRunner

    数据库连接池和DBUtils使用1

    【数据库连接池与DBUtils详解】 数据库连接池是数据库管理中的一个重要概念,它解决了传统JDBC操作数据库时频繁创建和关闭连接导致的性能问题。在Java编程中,数据库连接池的使用可以显著提升应用程序的效率,因为...

    JDBC工具类

    ### JDBC工具类——DBUtils详解 #### 一、概述 在Java编程中,数据库操作是一项常见且基础的任务。然而,直接使用JDBC进行数据库交互时,我们常常会遇到大量重复的代码片段,如连接数据库、执行SQL语句、处理结果...

    安卓Android源码——xUtils-master.rar

    二、DbUtils详解 DbUtils是xUtils中负责数据库操作的部分,它基于SQLite,提供了简单的API供开发者使用。DbUtils的主要特性有: 1. 数据库版本管理:自动处理数据库升级,通过onUpgrade()方法更新表结构。 2. 数据...

    DBUtils操作数据库以及事物的管理

    ### DBUtils操作数据库及事务管理详解 #### 一、DBUtils简介 DBUtils是一个轻量级的Java数据库访问工具类库,它简化了JDBC的使用步骤,使得开发者能够更方便地进行数据库操作。相比于传统的JDBC编程方式,DBUtils...

    dbutils框架

    **dbutils框架详解** Apache DBUtils(Database Utilities)是一个基于Java的开源数据库操作框架,它由Apache软件基金会提供,旨在简化数据库操作,提高开发效率。DBUtils的核心理念是通过提供一组实用工具类来减少...

    dbutils工具包和源文件

    **dbutils工具包详解** `dbutils` 是一个基于Java的开源数据库操作工具包,它在JDBC(Java Database Connectivity)的基础上提供了一层简洁而强大的封装,极大地简化了数据库的编程工作。`dbutils` 由Apache软件...

    Python库 | dbutils-gonzalo123-1.3.4.tar.gz

    《Python库dbutils-gonzalo123-1.3.4详解》 在Python的世界里,库扮演着至关重要的角色,它们为开发者提供了丰富的功能,简化了代码编写,提高了开发效率。今天我们要探讨的是一款名为`dbutils-gonzalo123-1.3.4`的...

    java commons-dbutils-1.2.jar

    **Java Commons DBUtils 1.2.jar 知识点详解** `commons-dbutils-1.2.jar` 是一个由Apache软件基金会开发并维护的Java库,它是Apache Commons项目的一部分,专注于简化数据库操作。这个小巧而实用的库为Java开发者...

    java学习笔记之DBUtils工具包详解

    Java学习笔记之DBUtils工具包详解 DBUtils是Apache组织开源的数据库工具类,提供了简洁的数据库操作方式,主要包括QueryRunner和ResultSetHandler两个主要组件。下面将详细介绍DBUtils工具包的使用步骤、构造方法及...

    jdbc+数据库连接池+dbutils

    ### JDBC与数据库交互详解 #### 一、JDBC概述 JDBC(Java Database Connectivity)是Java平台上用于连接数据库的一种标准接口。它允许开发者通过统一的API来访问多种类型的数据库,从而实现了应用程序与不同数据库...

    自己写的dbutils工具

    《自己编写的dbutils工具详解》 在软件开发过程中,工具的选择与使用往往能极大地提升工作效率。本文将详细介绍一个名为“dbutils”的自编工具,它是一个1.5测试版的开发工具,专注于数据库的通用访问操作、文件...

    dbutils开源项目用法.doc

    ### DBUtils开源项目详解 #### 一、简介 DBUtils是一个强大的开源库,隶属于Apache Commons项目,主要用于简化Java中JDBC的使用。它的设计目的是为了减少JDBC编码时的样板代码,提供更简洁、更安全的数据库操作...

    dbutils jar包

    **dbutils jar包详解** `dbutils` 是一个由Apache软件基金会开发的Java库,它为数据库操作提供了简单而强大的工具。这个jar包包含了不同版本的dbutils,分别是`dbutils1.6`、`dbutils1.7`和`dbutils1.4`,以及`...

    -dbutils使用说明.pdf

    1. Commons dbutils 主要组件详解: - `DbUtils` 类:这是一个静态工具类,包含了一系列辅助方法,用于简化数据库操作中的常见任务。例如,`loadDriver()` 方法可以自动加载并注册JDBC驱动,无需处理`...

Global site tag (gtag.js) - Google Analytics