|
||||
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 了. |
|||