`
Jatula
  • 浏览: 276742 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Common Dbutils组件的使用

阅读更多

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

 

主要方法:

 

DbUtils类:启动类

ResultSetHandler接口:转换类型接口

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

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

Qrery Runner类:执行SQL语句的类

 

建立三个Java文件

命名为BeanListExample.java

Guestbook.java

MapListExample.java

 

源码:

BeanListExample.java

 

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

 

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

 

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包。

 

配置完毕!!!

 

分享到:
评论
2 楼 cjh820425 2010-06-28  
QueryRunner的构造函数中没有QueryRunner(Connection conn)这种方式,只有QueryRunner(DataSource ds)的,所以使用其默认构造函数时,必须要传入Connection
1 楼 zhuyingya87 2009-06-30  
问下。
  DbUtils.loadDriver(jdbcDriver);  与class.forName(jdbcDriver);
有什么区别么?
   具体的QueryRunner ()的作用是什么。
  为什么有些方法是要有参数的。而且是connection?

偶不懂。。请指教啊!

相关推荐

    DbUtils应用开发例子--DbUtilsExample.zip

    Apache Common DbUtils是操作数据库的组件,对传统操作数据库的类(JDBC)进行二次封装,可以把结果集转化成List。 DbUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。 应用实践小结: 一、...

    commons-dbutils-1.7

    2. **QueryRunner类**:DbUtils中的`QueryRunner`类是其核心组件,它提供了执行SQL查询和更新的方法。例如,`query()`方法用于执行查询,`update()`方法用于执行DML(插入、更新、删除)操作。这些方法支持使用预...

    commons-dbutils-1.7.jar

    Apache Commons DBUtils是一款在Java编程中广泛使用的数据库操作工具库,它的全称为“Apache Commons Database Utilities”。这个小巧且高效的库为开发者提供了方便、安全的数据库访问接口,降低了处理数据库连接、...

    commons-dbutils-1.4-bin

    Common Dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。 补充一下,传统操作数据库的类指的是JDBC(java database connection:java数据库连接,java的数据库操作的基础API...

    dbutils文档和源码及jar包

    Common Dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。 补充一下,传统操作数据库的类指的是JDBC(java database connection:java数据库连接,java的数据库操作的基础API...

    commons-dbutils-1.7.jar中文-英文对照文档.zip

    中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...

    commons-pool-1.6-bin.tar、commons-dbutils-1.7-bin、commons-dbcp-1.4-bin.tar安装包

    这三个组件通常一起使用,DBCP 负责管理数据库连接,Pool 提供底层的对象池机制,而 DBUtils 则简化了数据库操作。它们都是 Java Web 应用和企业级应用中的重要组件,尤其是在处理大量并发请求时,能显著提升系统...

    apache-commons源码及jar文件

    Commons-Discovery 提供工具来定位资源 (包括类) ,通过使用各种模式来映射服务/引用名称和资源名称。. EL Commons-EL 提供在JSP2.0规范中定义的EL表达式的解释器. FileUpload FileUpload 使得在你可以在应用和...

    struts2+hibernate+spring

    ${.common.dbutils.c3p0.maxStatementsPerConnection}"/&gt; ${.common.dbutils.c3p0.checkoutTimeout}"/&gt; ${.common.dbutils.c3p0.initialPoolSize}"/&gt; ${.common.dbutils.c3p0.minPoolSize}"/&gt; ${.common....

    commons-dbcp-1.4&&commons-pool-1.3.jar

    要使用这些组件,开发者需要将它们添加到项目的类路径中,然后按照官方文档或示例代码配置数据库连接池。通过这样的方式,开发者可以在自己的Java Web应用中实现高效的数据库连接管理,提升整体系统性能。

    Apache Commons组件简介.ppt

    通过使用Apache Commons中的这些组件,开发者可以轻松地集成和利用经过验证和优化的代码,从而提高开发效率,确保代码质量,并降低维护成本。每个组件都具有独立的文档和示例,方便开发者快速理解和应用到实际项目中...

    xutils资源包jar包和例子

    本文将深入探讨xUtils中的核心组件:HttpUtils、BitmapUtils、DbUtils以及ViewInject。 **1. HttpUtils** HttpUtils是xUtils提供的网络请求模块,它可以方便地进行GET、POST等HTTP请求。使用HttpUtils,开发者无需...

    java项目commons jar包

    Java项目中的`commons`系列jar包是Apache软件基金会下的 Commons 项目提供的库,它们为Java开发者提供了各种实用工具和组件,极大地简化了常见的编程任务。这些jar包在Java开发中非常常见,尤其对于处理集合操作、...

    一些常用的第三方架包

    描述中提到的具体库包括beanutils、dbutils、fileupload、dpct、c3p0以及IO相关的库,这些都是Java开发中的重要组件。 首先,让我们来详细了解一下这些库: 1. **BeanUtils**: Apache Commons BeanUtils 是一个...

    JAVA调用ORACLE存储过程通用类

    - **`RowMapper`**:这是Apache Commons DBUtils提供的一个接口,用于从数据库结果集中提取数据并映射到Java对象。在这个例子中,通过匿名内部类的方式实现了`RowMapper`接口,用于处理存储过程的输出结果。 #### ...

Global site tag (gtag.js) - Google Analytics