教师可以教多门专业, 专业可以被多个教师教,其中数据库设计为三张表,分别为教师表、专业表、教师和专业的关联表,其中关联表中包含教师号和专业号,分别参照教师表和专业表,现在想实现的功能是加入教师信息和专业信息,可以保存教师教的专业是什么,该如何向关联表插入数据,将教师和专业关联起来?
解决方案 »
- tomcat6.0以上在哪下载?
- 寻找免费企业版防火墙
- javascript脚本怎样才能得到request.setAttribute("str",String[])里放的数组
- 关于断点续传得到http请求头request.getHeader("Range")?
- JSPGen网络IP定位已公开使用
- 大家有没有关于oa系统的需求分析文档啊!
- 刚开始学习Struts,请问有没有比较好的JSP编辑工具,支持Struts的标记。
- List放在request传给页面失败,放到session却可以
- 用JSP获取客户端IP这个为何不行
- 在red linux中jdk和tomcat放在哪里?
- 获得插入当前行数据的自动增长字段的值
- 急求帮忙谢谢了
专业表 CID 专业信息
关联表 TID CID
教师表 T_TEACHER 专业表T_MAJOR 教师和专业的关联表 T_TEACHER_MAJOR
T_TEACHER(TID,TNAME,TAGE....,TS);
T_MAJOR(MID,MNAME,MDESC....,TS);
T_TEACHER_MAJOR(TID,MID,TS);教师教的专业是什么:
SELECT T_TEACHER_MAJOR.TID,T_TEACHER.TNAME,T_TEACHER_MAJOR.MID,T_MAJOR.MNAME
FROM T_TEACHER_MAJOR,T_TEACHER,T_MAJOR
WHERE T_TEACHER_MAJOR.TID = T_TEACHER.TID
AND T_TEACHER_MAJOR.MID = T_MAJOR.MID;
如果确实需要一个“表”,把上面的sql做成视图
<class name="Teacher">
<id name="id" column="TID">
<generator class="native"/>
</id>
<set name="majors" table="Teacher_Major">
<key column="TeacherId"/>
<many-to-many column="MajorId"
class="Major"/>
</set>
</class><class name="Major">
<id name="id" column="MID">
<generator class="native"/>
</id>
<set name="techers" inverse="true" table="Teacher_Major">
<key column="MajorId"/>
<many-to-many column="TeacherId"
class="Teacher"/>
</set>
</class>
<id name="id" column="TID">
<generator class="native"/> </id>
<set name="majors" table="Teacher_Major" inverse="false">
<key column="TeacherId"/>
<many-to-many column="MajorId"
class="Major"/>
</set></class>
public class Teacher {
private int TID;
private List<Major> majors = new ArrayList<Major>();
}public class Major {
private int MID;
private List<Major> majors = new ArrayList<Major>();
}
还有什么属性自己加,配置文件里也有加,类中加get set方法测试这样就行了:
List<Major> majors = new ArrayList<Major>();
Major m = new Major();
majors.add(m);
Teather t = new Teacher();
t.setMajors(majors);
//这有什么属性往里set就行了
session.save(t);
public class Teacher {
private int TID;
private List<Major> majors ;}
public class Major {
private int MID;
private List<Major> ;}
这样就行了,不用new