mybaties一对多关系,外键如何操作?
不知道你们刚开始接触mybaties时,有没有遇到过这个问题,在外键设置关系映射时,傻乎乎的直接用外键,而没有在实体类中声明关系。废话不多说直接上干货。
班级表展示
主键class_id
public class PeopleClassEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 班级id
/
private Integer classId;
/*
* 班级名称
*/
private String classname;
}
学生表展示
主键student_id,外键classid
学生实体类展示
public class PeopleStudentEntity implements Serializable {
/**
* 学生id
*/
private Integer studentId;
/**
* 学生姓名
*/
private String sname;
/**
* 性别
*/
private String sex;
/**
* 班级id
*/
private String classid;
xml配置
<collection property="classid" ofType="class">
<id column="classid properties="classid"/>
<result property="classname" column="classname"></result>
</collection>
select s.name,s.sex,c.classname from student s inner join class c on s.classid=c.classid
错误更正:
一对多关系,需要在拥有外键的实体类中声明实体关系,将student类中的classid声明,改为private class c,xml文件中的collection关系映射就变味实体映射了。