java-DAO的设计与实现实践
例如,我有很多表,比如people
car
house
等等,我想知道一般DAO设计的良好实践
在这种情况下,people
有cars
和houses
car
和house
有自己的id,可能是一个自动递增的int值。它们还有一个外键userId
,它是user
的主键
第一步,我设计一个GenericDao
为所有表提供基本的CRUD函数
然后呢
我需要为用户A找到所有的汽车,所以我需要一个CarDao
函数findAllCarsForUser(int userid)
,它也可能有findCarsByName(String name)
和findCarsByNameForUser(String name, int userid)
等等。
对于House
,需要相同的HouseDao
。如果人们有其他类型的东西,每个人都应该有一个ObjectXXXDao
但是对于上层来说,XXXDao
是否应该暴露于它们
我认为不应该,所以每个DAO
都有一个包装的Service
类,比如CarService
{return XXXDao.findCarsByNameForUser()
。服务类中没有或几乎没有添加任何附加功能
或者应该向这个XXXservice
层添加什么功能
如果需要加入Car
和House
表,可能需要一个CarHouseDao
和CarHouseService
我想知道,这是普通刀的好设计吗?如果没有,有什么好的建议或例子吗
共 (0) 个答案