网上说在设计DAO层的时候都会先提出DAO的接口,那是每个DAO实现类对应一个接口类还是所有的DAO实现类对应一个接口类?如果DAO实现类有多种查询组合,比如有通过名称查询,有通过ID查询,还有多个条件的查询,查询的接口该如何设计?
解决方案 »
- 没有了多继承,如何给类增加些行为?
- 一个关于String的问题,String数组,String连接
- java 中如何通过指针给数组排序
- 学java刚入门,请问一个designer的问题!
- 在加载Hibernate配置文件时抛出异常,我是刚学的Java,请大家帮我看看是哪出了问题?
- 请问在javascript用window.open传参数,如何传?
- 如何将String类型强制转换为int 或者 double类型?
- 简单问题,在线等待。关于JTextArea。急!!!!!!!!!
- 关于计算机系大三生课余时间的利用问题,非常紧迫,恳请过来人指点!!!越具体越好!!!
- JAVA中递归传递引用的问题
- 菜鸟求解各位大虾一个方法重写问题
- 一个java初级语法问题!
多条件查询? 参数直接传条件VO。
至于组合条件查询,条件全部作为参数传入方法中,通过判断传入参数是否有值,来做相应的组合查询。
参数如果较多,则一般把参数组合成一个对象传入方法。
比如:
class QueryData{
String a;
String b;
}
List querySth(QueryData data){}
DAO实现类方法的接口,网上的通用DAO基类我也看过,基本就是把CUID,没更多的内容。
如果采用一个接口对应一个实现的方式,那接口的数目会一直膨胀,这是不是在增加维护工作?
查询的接口设计很复杂,组合条件查询的参数合成对象或数组传入方法这个也有问题,如果
不仅仅是"name=@Name" 这类简单的=操作,可能还有" name <> @name " 或者 "name in (@nameList)"这类查询操作,如何在方法内识别不同的操作?
1.对于简单的增删改查,所有的DAO可以共用一个接口,把它抽象出来,
2.对于复杂的查询操作,单独为此建立接口同时继承共用接口,
作用:
1.减少重复的增删改查的代码量
2.为复杂的需求做个单独接口,可以适应复杂的查询要求,为未来的需求变化做相应的接口