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是一个用于操作数据库的组件,它对JDBC API进行了二次封装,简化了数据库操作,减少了代码量。 * DBUtils包含三个主要包: * `org.apache.commons.dbutils`:基础包,包含了核心类和接口...
《Apache Commons DBUtils详解及其在Java数据库操作中的应用》 Apache Commons DBUtils是Apache软件基金会开发的一个开源项目,它提供了一套简洁、高效且实用的工具类,用于简化Java应用程序中的数据库操作。这个...
《Apache Commons DBUtils详解》 Apache Commons DBUtils是一款在Java编程中广泛使用的数据库操作工具库,它的全称为“Apache Commons Database Utilities”。这个小巧且高效的库为开发者提供了方便、安全的数据库...
《Apache Commons DBUtils详解》 Apache Commons DBUtils是一款开源的Java数据库工具库,它简化了JDBC编程,为开发者提供了一种简洁、高效且易于使用的API。在标题"commons-dbutils-1.6.jar"中,我们可以看到这是...
Dbutils 提供了一个名为 `DbUtils` 的工具类,以及 `QueryRunner` 类,这两个类是其核心组件。 `DbUtils` 类: - 提供了一些静态方法,用于加载 JDBC 驱动、管理数据库连接的生命周期(打开与关闭)以及处理异常。 ...
DBUtils详解,含函数介绍和使用 QueryRunner
【数据库连接池与DBUtils详解】 数据库连接池是数据库管理中的一个重要概念,它解决了传统JDBC操作数据库时频繁创建和关闭连接导致的性能问题。在Java编程中,数据库连接池的使用可以显著提升应用程序的效率,因为...
### JDBC工具类——DBUtils详解 #### 一、概述 在Java编程中,数据库操作是一项常见且基础的任务。然而,直接使用JDBC进行数据库交互时,我们常常会遇到大量重复的代码片段,如连接数据库、执行SQL语句、处理结果...
二、DbUtils详解 DbUtils是xUtils中负责数据库操作的部分,它基于SQLite,提供了简单的API供开发者使用。DbUtils的主要特性有: 1. 数据库版本管理:自动处理数据库升级,通过onUpgrade()方法更新表结构。 2. 数据...
### DBUtils操作数据库及事务管理详解 #### 一、DBUtils简介 DBUtils是一个轻量级的Java数据库访问工具类库,它简化了JDBC的使用步骤,使得开发者能够更方便地进行数据库操作。相比于传统的JDBC编程方式,DBUtils...
**dbutils框架详解** Apache DBUtils(Database Utilities)是一个基于Java的开源数据库操作框架,它由Apache软件基金会提供,旨在简化数据库操作,提高开发效率。DBUtils的核心理念是通过提供一组实用工具类来减少...
**dbutils工具包详解** `dbutils` 是一个基于Java的开源数据库操作工具包,它在JDBC(Java Database Connectivity)的基础上提供了一层简洁而强大的封装,极大地简化了数据库的编程工作。`dbutils` 由Apache软件...
《Python库dbutils-gonzalo123-1.3.4详解》 在Python的世界里,库扮演着至关重要的角色,它们为开发者提供了丰富的功能,简化了代码编写,提高了开发效率。今天我们要探讨的是一款名为`dbutils-gonzalo123-1.3.4`的...
**Java Commons DBUtils 1.2.jar 知识点详解** `commons-dbutils-1.2.jar` 是一个由Apache软件基金会开发并维护的Java库,它是Apache Commons项目的一部分,专注于简化数据库操作。这个小巧而实用的库为Java开发者...
Java学习笔记之DBUtils工具包详解 DBUtils是Apache组织开源的数据库工具类,提供了简洁的数据库操作方式,主要包括QueryRunner和ResultSetHandler两个主要组件。下面将详细介绍DBUtils工具包的使用步骤、构造方法及...
### JDBC与数据库交互详解 #### 一、JDBC概述 JDBC(Java Database Connectivity)是Java平台上用于连接数据库的一种标准接口。它允许开发者通过统一的API来访问多种类型的数据库,从而实现了应用程序与不同数据库...
《自己编写的dbutils工具详解》 在软件开发过程中,工具的选择与使用往往能极大地提升工作效率。本文将详细介绍一个名为“dbutils”的自编工具,它是一个1.5测试版的开发工具,专注于数据库的通用访问操作、文件...
### DBUtils开源项目详解 #### 一、简介 DBUtils是一个强大的开源库,隶属于Apache Commons项目,主要用于简化Java中JDBC的使用。它的设计目的是为了减少JDBC编码时的样板代码,提供更简洁、更安全的数据库操作...
**dbutils jar包详解** `dbutils` 是一个由Apache软件基金会开发的Java库,它为数据库操作提供了简单而强大的工具。这个jar包包含了不同版本的dbutils,分别是`dbutils1.6`、`dbutils1.7`和`dbutils1.4`,以及`...
1. Commons dbutils 主要组件详解: - `DbUtils` 类:这是一个静态工具类,包含了一系列辅助方法,用于简化数据库操作中的常见任务。例如,`loadDriver()` 方法可以自动加载并注册JDBC驱动,无需处理`...