`
廖世勇
  • 浏览: 100921 次
  • 性别: Icon_minigender_1
  • 来自: 湖南郴州
社区版块
存档分类
最新评论

Dbutils 详解

 
阅读更多


CommonDbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成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类型的对象

QreryRunner类:执行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){
Connectionconn= null ;
Stringurl= " jdbc:mysql://localhost:3306/people" ;
StringjdbcDriver= " com.mysql.jdbc.Driver" ;
Stringuser= " root " ;
Stringpassword= " hicc " ;

DbUtils.loadDriver(jdbcDriver);
try {
conn= DriverManager.getConnection(url,user,password);
QueryRunnerqr= new QueryRunner();
Listresults= (List)qr.query(conn," selectid,namefromguestbook" ,new BeanListHandler(Guestbook.class ));
for ( int i = 0 ;i < results.size();i++ ) {
Guestbookgb= (Guestbook)results.get(i);
System.out.println(" id: " + gb.getId()+ " ,name: " + gb.getName());
}
} catch (SQLExceptione) {
e.printStackTrace();
} finally {
DbUtils.closeQuietly(conn);
}
}
}


Guestbook.java
Code
package com.sy;

public class Guestbook{
private Integerid;
private Stringname;

public IntegergetId(){
return id;
}

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

public StringgetName(){
return name;
}

public void setName(Stringname){
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){
Connectionconn= null ;
Stringurl= " jdbc:mysql://localhost:3306/people" ;
StringjdbcDriver= " com.mysql.jdbc.Driver" ;
Stringuser= " root " ;
Stringpassword= " hicc " ;

DbUtils.loadDriver(jdbcDriver);
try {
conn= DriverManager.getConnection(url,user,password);
QueryRunnerqr= new QueryRunner();
Listresults= (List)qr.query(conn," selectid,namefromguestmessage" ,new MapListHandler());
for ( int i = 0 ;i < results.size();i++ ) {
Mapmap= (Map)results.get(i);
System.out.println(" id: " + map.get( " id " ) + " ,name: " + map.get( " name " ));
}
} catch (SQLExceptione) {
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{
TestDBUnitstest= new TestDBUnits();

for ( int i = 0 ;i< 1 ;i ++ ) {
test.testQuery1();
test.testQuery2();
test.testUpdate();
}
}

public void testQuery1(){
try {
QueryRunnerqr= new QueryRunner();
ResultSetHandlerrsh= new ArrayListHandler();
Stringstrsql= " select*fromtest1" ;
ArrayListresult= (ArrayList)qr.query(getConnection(),strsql,rsh);
// System.out.print("");
} catch (Exceptionex){
ex.printStackTrace(System.out);
}
}

public void testQuery2(){
try {
QueryRunnerqr= new QueryRunner();
ResultSetHandlerrsh= new MapListHandler();
Stringstrsql= " select*fromtest1" ;
ArrayListresult= (ArrayList)qr.query(getConnection(),strsql,rsh);
for ( int i = 0 ;i< result.size();i++ ) {
Mapmap= (Map)result.get(i);
// System.out.println(map);
}
// System.out.print("");
} catch (Exceptionex){
ex.printStackTrace(System.out);
}
}

public void testUpdate(){
try {
QueryRunnerqr= new QueryRunner();
ResultSetHandlerrsh= new ArrayListHandler();
Stringstrsql= " inserttest1(page,writable,content)values('ttt','ttt','faskldfjklasdjklfjasdklj')" ;
qr.update(getConnection(),strsql);
// System.out.print("");
} catch (Exceptionex){
ex.printStackTrace(System.out);
}
}

private ConnectiongetConnection()throws InstantiationException,
IllegalAccessException,ClassNotFoundException,SQLException{

StringstrDriver= " org.gjt.mm.mysql.Driver" ;
StringstrUrl= " jdbc:mysql://localhost:3306/test" ;
StringstrUser= " root " ;
StringstrPass= "" ;

Class.forName(strDriver).newInstance();
return DriverManager.getConnection(strUrl,strUser,strPass);
}
}

分享到:
评论

相关推荐

    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