GreenDao 3.3.0 基本使用与入门(一)
GreenDao 3.3.0 多表关联使用(二)
GreenDao 3.3.0 增删改查的使用(三)
注解关系说明
GreenDao 进行表关联的处理 一对一, 一对多和 多对多的表管理处理,
其联关系是通过主外键(对象之间关联的id,外键是对应表的主键id)来构建的,
- @ToOne(joinProperty =“teacherId” ) 一对一
- @ToMany(referencedJoinProperty =“courseId”) 一对多
- @ToMany //多对多 需要一个中间表去连接
@JoinEntity(entity = GradeJionTeacher.class,sourceProperty = “teaId”,targetProperty = “stuId”)
@ToOne 一对一的使用
教师表 Teachers
@Entity(nameInDb = "Teachers")
public class Teachers {
@Id(autoincrement = true)
@Property(nameInDb = "teacherId")
private long teacherId;
@Property(nameInDb = "teacherName")
private String teacherName;
@Property(nameInDb = "sex")
private String sex;
@Override
public String toString() {
return "Teachers{" +
"teacherId=" + teacherId +
", teacherName='" + teacherName + '\'' +
", sex='" + sex + '\'' +
'}';
}
课程表 Courses
@Entity(nameInDb = "Courses")
public class Courses {
@Id(autoincrement = true)
@Property(nameInDb = "courseId")
private long courseId;
@Property(nameInDb = "courseName")
private String courseName;
@Property(nameInDb = "teacherId")//这里的teacherId为Teachers表中的主键id
private long teacherId;
@ToOne(joinProperty ="teacherId" ) //一对一 ,一课一老师
private Teachers teacher;
@Override
public String toString() {
return "Courses{" +
"courseId=" + courseId +
", courseName='" + courseName + '\'' +
", teacherId=" + teacherId +
", teacher=" + teacher +
'}';
}
测试数据