Dbutils介绍和使用
Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。
官网:http://commons.apache.org/proper/commons-dbutils/index.html
DbUtils主要的核心是org.apache.commons.dbutils.QueryRunner和org.apache.commons.dbutils.ResultSetHandler。
QueryRunner:
QueryRunner可以使用给出的DataSource实例来创建对象,也可以通过Connection实例来创建对象,如下:
DataSource:
// Create a QueryRunner that will useconnections from the given DataSource
QueryRunner run =newQueryRunner(dataSource);
Connection:
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; } };
QueryRunner run = new QueryRunner();
Object[] result = run.query(conn, "SELECT * FROM Person WHERE name=?", h, "John Doe");
ResultSetHandler:
在上述例子中我们实现ResultSetHandler接口来把ResultSet的结果放入Object数组中,这样做的好处就是代码的可用性很高。在DBUtils的org.apache.commons.dbutils.handlers包中提供给我们一组实现了ResultSetHandler的类,并表现出到arrays、Maps和JavaBeans更通用的转换,这些类包括:
最后,如果你不想使用hibernate和mybits ,那么DbUtils是处理小数据量不错的选择。而且DbUtils的使用很简单,学习成本较低,可以快速上手,推荐使用!