|
|
||||
| 1.0 其他语言 |
||||
4.3 写你自己的 DAO 类 |
||||
|
在大多数情况下,都需要写自己的 DAO 函数,因为自动生成的 DAO 函数太简单,无法应付复杂场合。 许多项目都需要从多个表中查询,在这种情况下,我们需要写一些 VO(value object) 类。新的 VO 类可以是一个全新的 Java bean 类,或者是自动生成的数据库 model 类的子类 比如,表 A 有如下字段(column): 我们可以写一个新的 VO 类来应付新的查询需求: public class MyVO{
String xx;
这里的 mapping 是基于数据库字段(column) 名称和 Java bean 属性名称,这里不需要额外的配置文件。 对于其他的更新/删除操作,可以使用 ANSI SQL 写 DAO 函数:
public void decreaseInventory(String productItemId, long qty) {
StringBuffer sql = new StringBuffer();
sql.append("update inventory i set qty = qty - ?");
sql.append(" where itemid = ?");
List paraList = new LinkedList();
paraList.add(new Long(qty));
paraList.add(productItemId);
int updateCount = this.update(sql.toString(), paraList.toArray());
log.debug("udpate count:" + updateCount);
}
相比较直接用 JDBC 编程,优势在于我们不再需要注意资源的释放了,不再需要使用 JDBC Connection/Statement/ResultSet 了,也不需要写 try catch 了. |
|||