在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操作数据库入门** 在Java开发中,与数据库的交互是不可或缺的一部分。DBUtils(Database Utilities)是由Apache组织提供的一个开源工具包,它简化了数据库操作,使得开发者能够更加便捷地执行SQL语句...
在描述中提到的"采用Apache dbutils操作数据库的DAO类",指的是使用DBUtils库创建的DAO(Data Access Object)模式实现。DAO模式是一种设计模式,用于封装对数据库的所有操作,使业务逻辑与数据访问层分离,提高代码...
DBUtils的主要目标是简化JDBC的使用,减少数据库操作中的异常处理和资源管理,使得开发者能够更加专注于业务逻辑。 在使用DBUtils之前,首先需要引入对应的jar包,即`commons-dbutils-1.7.jar`。这个库包含了...
本篇将详细讲解如何使用JDBC连接MySQL数据库,并结合Apache的DBUtils库简化数据库操作。 首先,我们需要了解JDBC。JDBC是Java平台的一个标准接口,允许Java应用程序与各种类型的数据库进行通信。它定义了一组用于...
### DBUtils操作数据库及事务管理详解 #### 一、DBUtils简介 DBUtils是一个轻量级的Java数据库访问工具类库,它简化了JDBC的使用步骤,使得开发者能够更方便地进行数据库操作。相比于传统的JDBC编程方式,DBUtils...
DBUtils对数据库进行操作
DBUtils是Java编程环境中一个非常实用的数据库操作工具包,由Apache软件基金会提供。它基于JDBC(Java Database Connectivity)并提供了对数据库操作的简化,让开发者能够更方便、高效地进行数据存取。DBUtils的主要...
dbutils库通常与其他的数据库接口模块(如psycopg2)一起使用,以创建和管理数据库连接池。 首先,我们来详细了解一下`dbutils`库。它主要包含以下几个组件: 1. **PooledDB**: 这是dbutils的核心部分,实现了连接...
DbUtils是Apache组织提供的...在毕业设计论文或计算机案例中,使用DbUtils进行数据库操作能让你的项目看起来更专业、更规范。模板建站和系统软件工具也可以利用DbUtils简化数据库操作部分,使代码更加简洁和易于维护。
DBUtils是Apache软件基金会开发的一个开源Java库,它提供了一套简单、易用且高度封装的数据库操作API,主要用于简化Java应用程序对数据库的访问。DBUtils的核心思想是为数据库操作提供一个安全、高效的抽象层,使得...
DBUtils是Apache Commons项目中的一个Java库,专为简化数据库操作而设计。它是一个轻量级的工具类库,提供了一套简洁、高效且线程安全的API,可以帮助开发者更方便地执行SQL语句,处理结果集,以及管理数据库连接。...
本话题主要聚焦于如何使用JAVA操作SQL Server数据库,特别是通过SQLJDBC驱动和Apache的DBUtils API。 首先,SQLJDBC驱动是微软提供的用于Java应用程序连接到SQL Server的驱动程序。它实现了JDBC接口,使得Java...
Apache Commons DBUtils是一个轻量级的Java库,它简化了对JDBC API的使用,通过提供一个抽象层来处理常见的数据库操作,如查询、更新等,从而减少代码量和出错的可能性。本教程将详细介绍如何在Tomcat服务器中配置...
这个模块主要目的是提供一个稳定、健壮的接口,用于管理和操作数据库连接,使得开发者能够更方便地处理数据库交互任务。 在Python中,尽管标准库中的 `sqlite3` 或 `pyodbc` 等模块可以直接用于数据库操作,但它们...
本文将会深入探讨如何在Flask框架中使用DBUtils模块连接和操作数据库,这在构建Web应用时是非常常见和重要的技能。 首先,DBUtils是一个Python模块,它提供了一些工具类和函数,以便在Python中实现数据库连接池。...
本文主要介绍了如何使用JDBC进行数据库操作,包括基本的连接、查询和更新操作;接着探讨了如何利用数据库连接池(如C3P0)来优化数据库连接管理;最后介绍了一个便捷的工具类库DbUtils,它能够进一步简化JDBC的操作...
6. **事务管理**:在需要执行多个数据库操作的场景下,可以使用DBUtils提供的`ConnectionHelper`类来管理事务,确保操作的原子性。 7. **使用Dao**:在业务逻辑层中,通过 Dao 接口调用相应的数据库操作方法,进行...
在IT行业中,数据库操作是日常开发中的重要环节,而`dbutils`是一个非常实用的Java数据库操作工具包,它简化了对数据库进行增删改查(CRUD)操作的过程。本示例着重介绍如何结合`dbutils`与Oracle数据库进行高效的...
总的来说,“30_数据库_第3天(DBUtils)_讲义”主要涵盖了数据库的基本操作、DBUtils的使用方法以及其在事务处理和异常处理方面的优势。掌握这些知识点,将有助于Java开发者更高效地进行数据库编程。通过阅读30_...
在这个例程3中,我们将探讨如何使用类DBUtils1来操作SQLite数据库。 首先,理解DBUtils1类的作用是至关重要的。DBUtils1通常是一个自定义的辅助类,用于封装数据库操作,使得代码更加模块化和易于管理。它可能包含...