dao查询的一点想法

07-06-18 Ericx
dao 查询的一点想法

最近在做东西时突发奇想,对实体的各种查询 可不可以进行封装?
我没什么经验,请大家赐教

我的思路是 使用命令模式。CommandFactory 负责所有查询命令的创建,QueryCommand就是具体的命令,
public class QueryCommand {
private String from;//从哪里查询
private object orderBy;//排序
private object[] params;//按照属性查询
.........................
public String generateQueryString(){
........................
}
}

这样DAO层只需要实现一个Find 方法接受QueryCommand 参数就可以进行查询了

那么仓储的实现 也就 可以通过Ioc 依赖注入相应的DAO 实现对象的创建了
这样也就避免了仓储和Dao同时对底层数据库产生依赖,如果需要对底层解耦只需在Dao层下功夫就可以了

请大家赐教##

Ericx
2007-06-18 17:48
当然也可以进行进一步的封装,进行更复杂的查询
我只是举个例子

banq
2007-06-19 15:24
是的,可以的。

JiveJdon3中查询也就是这么做的。查询或简单insert update操作都可以通过一个jdbcTemp实现。

Ericx
2007-06-20 12:58
还 是 要多 研究 一下 banq的 代码了
^^