|
||||
1.0 其他语言 |
||||
4.1 Apache Common Dbutils |
||||
|
Dbutils 是 Apache 提供的一个免费的开源 O/R mapping 库。它不需要配置文件就可以将 JDBC 结果集转换成 Java bean。 这种转换是基于数据库字段名和 Java bean 属性名。 比如,数据库 USER 表中字段名 NAME,会 mapping 到 Java bean User 的 getName()/setName()。这种转换是结果集一级的,不是表一级的。这意味着,我们可以从多个表中 select 出数据,然后将结果数据 mapping 到 POJO。 在 VelocityWeb 中一点小的增强,那就是 FIRST_NAME 可以 mapping 到 firstName。 下面是查询单条数据的例子:
public boolean checkPassword(String userName, String encryptedPassword) { String sql = "select * from signon where username = ?"; List paraList = new LinkedList(); paraList.add(userName); Signon user = (Signon) this.queryBean(sql, paraList.toArray(), Signon.class); if (user == null) { // can't find the user with login name return false; } return encryptedPassword.equals(user.getPassword()); } 以及查询多条数据的例子:
public java.util.List getAll(){ String sql = "select * from product"; return this.queryBeanList(sql, null, Product.class);//List 中每个元素都是一个 Product 对象 } 不足之处在于,Dbutils 基于 JDBC java.sql.PreparedStatement,SQL 参数使用索引来定位,不是使用名称。对于复杂查询,这样处理参数比较容易写错。 |
|||