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是一个用于操作数据库的组件,它对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驱动,无需处理`...