JavaWeb项目,DAO应该怎么写?
有一张字段足够多的表,要对它进行各种各样的查询:
根据字段A根据字段B,或者根据字段A和B,或者再加上字段C,然后可能还要加上分页,排序等等的逻辑。
现在的项目的DAO层为了满足上面这些需要出现了很多参数列表很长的方法,神烦不已。
最初想到的是类似Hibernate的QBE方式,传给DAO一个实体类对象,但是一个实体类对象不能描述“范围”,更不用说用到IN的查询。
后来想到抽象出一种“查询”类,封装一些查询条件。个人感觉这个解决方案可行,但是遇到了很多问题,比如可能会把表结构直接暴露给Service,对于一些特别复杂的查询难以描述出来等等。
那么问题来了,DAO应该怎么写,或者说,Service应该传给DAO什么?
hibernate java dao mybatis javaweb
穆遥的天空
9 years, 2 months ago