有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java-DAO的设计与实现实践

例如,我有很多表,比如peoplecarhouse等等,我想知道一般DAO设计的良好实践

在这种情况下,peoplecarshousescarhouse有自己的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层添加什么功能

如果需要加入CarHouse表,可能需要一个CarHouseDaoCarHouseService

我想知道,这是普通刀的好设计吗?如果没有,有什么好的建议或例子吗


共 (0) 个答案