日期:2014-05-17  浏览次数:20654 次

DAO问题请教
我做了一个Servlet+JSP的Java Web系统,没有框架。我现在有两张表:
第一张是Teacher表,对应的类名为Teacher。
第二张是Student表,对应的类名为Student。
由于两张表是多对多的关系,所以有一张中间表teacher_student,这张表没有对应的实体类。

接下来我写了Dao层的代码:

public class TeacherDao {
    public void add(Teacher teacher) {
        // 插入teacher表的代码
    }
}

public class StudentDao {
    public void add(Student student) {
        // 插入student表的代码
    }
}


以上是两个类对应的DAO代码,本来一切正常,但现在我有个问题:
我现在需要向“中间表teacher_student”插入数据,那我代码应该写在什么地方?
向“中间表teacher_student”插入数据的代码不可能要建一个Teacher_Student的DAO类吧?不合理!
把这些代码写在TeacherDao里合适吗?还是写在StudentDao里好?

谢谢大家的帮助!

------解决方案--------------------
再写一个service做这些事情吧,毕竟这个功能不属于那两个dao,再建一个dao也不合适
------解决方案--------------------
你不觉得写个BaseDao的类是很有必要的吗?所有dao继承base
------解决方案--------------------
引用
向“中间表teacher_student”插入数据的代码不可能要建一个Teacher_Student的DAO类吧?不合理!
向中间表插入数据既不属于TeacherDao,又不属于StudentDao。这时你是不是应该考虑建一个特殊的Dao?然后把一些特殊的接口都放这里。