首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

TeacherService的业务层代码里加入StudentDao合理吗?该怎么解决

2013-11-06 
TeacherService的业务层代码里加入StudentDao合理吗?数据库里有两张表,一个是学生表(student),一张是教师

TeacherService的业务层代码里加入StudentDao合理吗?
数据库里有两张表,一个是学生表(student),一张是教师表(teacher),一个教师可以对应多个学生,有外键关联的关系。
现在有个需求,当在数据库里查出教师表的时候,需要同时查出其对应的所有学生。
在业务层,我是这样设计的,请看代码:
class TeacherService {
    private TeacherDao teacherDao = new TeacherDao();
    private StudentDao studentDao = new StudentDao ();
    public Teacher findAll() {
        //...
    }
}

以上代码我运行起来是没有问题的,但我的疑问是:
TeacherService业务层里一般只有TeacherDao的引用,现在我又写多了一个StudentDao,虽然也可以查找出需要的数据来,但是这样设计合不合理?
因为一般TeacherService里只会有TeacherDao,而在StudentService里才会有StudentDao,而现在我把两个Dao都写在一个教师的业务类里,好像没有人会这样写吧?
请问这样写合符开发的规范吗?
谢谢!
[解决办法]
老师对学生进行操作。貌似没什么不合理的。
当然,TeacherService里面调用StudentService(StudentService调用StudentDao)更合适一些。
一个service有多个dao也是可以的。

[解决办法]
业务操作,没有规定必须只用一个dao。灵活简单为主
[解决办法]
service没规定就只能对一张表操作。

热点排行