`
lasfox
  • 浏览: 1502 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

使用DBUtils操作数据库

阅读更多
在oschina.net上看到了DBUtils项目,看介绍挺简单的,就准备尝试一下。
api确实非常简单,用起来很方便。
// Create a ResultSetHandler implementation to convert the
// first row into an Object[].
ResultSetHandler<Object[]> h = new ResultSetHandler<Object[]>() {
    public Object[] handle(ResultSet rs) throws SQLException {
        if (!rs.next()) {
            return null;
        }
    
        ResultSetMetaData meta = rs.getMetaData();
        int cols = meta.getColumnCount();
        Object[] result = new Object[cols];

        for (int i = 0; i < cols; i++) {
            result[i] = rs.getObject(i + 1);
        }

        return result;
    }
};

// Create a QueryRunner that will use connections from
// the given DataSource
QueryRunner run = new QueryRunner(dataSource);

// Execute the query and get the results back from the handler
Object[] result = run.query(
    "SELECT * FROM Person WHERE name=?", h, "John Doe");

ResultSetHandler<Object[]> h = ... // Define a handler the same as above example

// No DataSource so we must handle Connections manually
QueryRunner run = new QueryRunner();

Connection conn = ... // open a connection
try{
    Object[] result = run.query(
        conn, "SELECT * FROM Person WHERE name=?", h, "John Doe");
	// do something with the result
	
} finally {
    // Use this helper method so we don't have to check for null
    DbUtils.close(conn);  
}


QueryRunner run = new QueryRunner( dataSource );
try
{
    // Execute the SQL update statement and return the number of
    // inserts that were made
    int inserts = run.update( "INSERT INTO Person (name,height) VALUES (?,?)",
                              "John Doe", 1.82 );
    // The line before uses varargs and autoboxing to simplify the code

    // Now it's time to rise to the occation...
    int updates = run.update( "UPDATE Person SET height=? WHERE name=?",
                              2.05, "John Doe" );
    // So does the line above
}
catch(SQLException sqle) {
    // Handle it
}


遇到的问题:
用的时候发现,在做insert操作的时候报:
Exception in thread "Main Thread" java.sql.SQLException: Feature not implemented Query: insert into test (name) values (?) Parameters: [test0]
at org.apache.commons.dbutils.QueryRunner.rethrow(QueryRunner.java:542)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:599)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:575)
at com.allyes.icontext.fetcher.Test.main(Test.java:71)

后来发现原来是驱动的版本不对,开始用的3.1,改成5.1的就ok了。

以后直接需要操作jdbc的就用DBUtils就方便多了!

分享到:
评论

相关推荐

    使用dbutils操作数据库入门

    **使用dbutils操作数据库入门** 在Java开发中,与数据库的交互是不可或缺的一部分。DBUtils(Database Utilities)是由Apache组织提供的一个开源工具包,它简化了数据库操作,使得开发者能够更加便捷地执行SQL语句...

    采用Apache dbutils操作数据库

    在描述中提到的"采用Apache dbutils操作数据库的DAO类",指的是使用DBUtils库创建的DAO(Data Access Object)模式实现。DAO模式是一种设计模式,用于封装对数据库的所有操作,使业务逻辑与数据访问层分离,提高代码...

    JAVA使用DBUtils操作数据库

    DBUtils的主要目标是简化JDBC的使用,减少数据库操作中的异常处理和资源管理,使得开发者能够更加专注于业务逻辑。 在使用DBUtils之前,首先需要引入对应的jar包,即`commons-dbutils-1.7.jar`。这个库包含了...

    JDBC连接数据库DBUtils操作数据库两个jar包

    本篇将详细讲解如何使用JDBC连接MySQL数据库,并结合Apache的DBUtils库简化数据库操作。 首先,我们需要了解JDBC。JDBC是Java平台的一个标准接口,允许Java应用程序与各种类型的数据库进行通信。它定义了一组用于...

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

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

    用DBUtils对数据库进行操作,对原来操作进行简化

    DBUtils对数据库进行操作

    DBUtils数据库的使用

    DBUtils是Java编程环境中一个非常实用的数据库操作工具包,由Apache软件基金会提供。它基于JDBC(Java Database Connectivity)并提供了对数据库操作的简化,让开发者能够更方便、高效地进行数据存取。DBUtils的主要...

    dbutils数据库连接池

    dbutils库通常与其他的数据库接口模块(如psycopg2)一起使用,以创建和管理数据库连接池。 首先,我们来详细了解一下`dbutils`库。它主要包含以下几个组件: 1. **PooledDB**: 这是dbutils的核心部分,实现了连接...

    DbUtils数据库查询工具包 v1.8.1.zip

    DbUtils是Apache组织提供的...在毕业设计论文或计算机案例中,使用DbUtils进行数据库操作能让你的项目看起来更专业、更规范。模板建站和系统软件工具也可以利用DbUtils简化数据库操作部分,使代码更加简洁和易于维护。

    DBUtils(通用的数据库工具类)

    DBUtils是Apache软件基金会开发的一个开源Java库,它提供了一套简单、易用且高度封装的数据库操作API,主要用于简化Java应用程序对数据库的访问。DBUtils的核心思想是为数据库操作提供一个安全、高效的抽象层,使得...

    DBUtils数据库工具类

    DBUtils是Apache Commons项目中的一个Java库,专为简化数据库操作而设计。它是一个轻量级的工具类库,提供了一套简洁、高效且线程安全的API,可以帮助开发者更方便地执行SQL语句,处理结果集,以及管理数据库连接。...

    JAVA操作SQL Sever数据库的驱动与DBUtils API

    本话题主要聚焦于如何使用JAVA操作SQL Server数据库,特别是通过SQLJDBC驱动和Apache的DBUtils API。 首先,SQLJDBC驱动是微软提供的用于Java应用程序连接到SQL Server的驱动程序。它实现了JDBC接口,使得Java...

    使用dbutils获取tomcat数据库连接池.pdf

    Apache Commons DBUtils是一个轻量级的Java库,它简化了对JDBC API的使用,通过提供一个抽象层来处理常见的数据库操作,如查询、更新等,从而减少代码量和出错的可能性。本教程将详细介绍如何在Tomcat服务器中配置...

    dbutils dbutils dbutils dbutils

    这个模块主要目的是提供一个稳定、健壮的接口,用于管理和操作数据库连接,使得开发者能够更方便地处理数据库交互任务。 在Python中,尽管标准库中的 `sqlite3` 或 `pyodbc` 等模块可以直接用于数据库操作,但它们...

    Flask框架使用DBUtils模块连接数据库操作示例

    本文将会深入探讨如何在Flask框架中使用DBUtils模块连接和操作数据库,这在构建Web应用时是非常常见和重要的技能。 首先,DBUtils是一个Python模块,它提供了一些工具类和函数,以便在Python中实现数据库连接池。...

    jdbc+数据库连接池+dbutils

    本文主要介绍了如何使用JDBC进行数据库操作,包括基本的连接、查询和更新操作;接着探讨了如何利用数据库连接池(如C3P0)来优化数据库连接管理;最后介绍了一个便捷的工具类库DbUtils,它能够进一步简化JDBC的操作...

    使用C3P0连接池和DButils进Dao模式的数据库操作

    6. **事务管理**:在需要执行多个数据库操作的场景下,可以使用DBUtils提供的`ConnectionHelper`类来管理事务,确保操作的原子性。 7. **使用Dao**:在业务逻辑层中,通过 Dao 接口调用相应的数据库操作方法,进行...

    dbutils + oracle 增删改查批量插入示例

    在IT行业中,数据库操作是日常开发中的重要环节,而`dbutils`是一个非常实用的Java数据库操作工具包,它简化了对数据库进行增删改查(CRUD)操作的过程。本示例着重介绍如何结合`dbutils`与Oracle数据库进行高效的...

    30_数据库_第3天(DBUtils)_讲义

    总的来说,“30_数据库_第3天(DBUtils)_讲义”主要涵盖了数据库的基本操作、DBUtils的使用方法以及其在事务处理和异常处理方面的优势。掌握这些知识点,将有助于Java开发者更高效地进行数据库编程。通过阅读30_...

    小白用VB开发安卓程序-例程3、类DBUtils1操作SQLite数据库

    在这个例程3中,我们将探讨如何使用类DBUtils1来操作SQLite数据库。 首先,理解DBUtils1类的作用是至关重要的。DBUtils1通常是一个自定义的辅助类,用于封装数据库操作,使得代码更加模块化和易于管理。它可能包含...

Global site tag (gtag.js) - Google Analytics