Mybatisの一対一と一対多
一対一
紹介する
1対1で使用されるラベルです.このラベルにはcolumn、javaType、propertyの3つのプロパティがあります.columnは外部キーid(クエリー結果を使用するフィールド)に対応し、javaTypeは外部キーオブジェクトのタイプであり、propertyはプライマリオブジェクトの外部キーオブジェクトのプロパティ名です.このラベルには2つのサブラベルが含まれています.
≪インスタンス|Instance|emdw≫
1つの教師オブジェクトは、教師番号(teacherId)、教師名(teacherName)、およびカリキュラムオブジェクト(cursor)に対応します.カリキュラムオブジェクトには、カリキュラム番号(cursorId)、カリキュラム名(cursorName)があります.
JAvaクラス
xmlの構成
sql文
一対多
紹介する
一対多に使用されるのはラベルです.このラベルにはcolumn、ofType、propertyの3つの属性があります.columnは外部キー(クエリー結果のフィールド)に対応しています.ofTypeは外部キーオブジェクトのタイプで、propertyは外部キーオブジェクトのプライマリオブジェクトの名前を指します.このラベルには2つのサブラベルが含まれています.それぞれ
≪インスタンス|Instance|emdw≫
1人の先生は複数の学生に対応しており、先生対象には先生番号(teacherId)、先生名(teacherName)、学生対象集合(Liststudents)、学生対象には学生番号(student_id)、学生名(student_name)が含まれている.
JAvaクラス
xml構成
sql
以上、具体的なデータベースデータやデータを作成するsqlはご自身で作成してください.
紹介する
1対1で使用されるラベルです.このラベルにはcolumn、javaType、propertyの3つのプロパティがあります.columnは外部キーid(クエリー結果を使用するフィールド)に対応し、javaTypeは外部キーオブジェクトのタイプであり、propertyはプライマリオブジェクトの外部キーオブジェクトのプロパティ名です.このラベルには2つのサブラベルが含まれています.
≪インスタンス|Instance|emdw≫
1つの教師オブジェクトは、教師番号(teacherId)、教師名(teacherName)、およびカリキュラムオブジェクト(cursor)に対応します.カリキュラムオブジェクトには、カリキュラム番号(cursorId)、カリキュラム名(cursorName)があります.
JAvaクラス
public class Teacher{
private String teacherId;
private String teacherName;
private Cursor cursor;
public void setTeacherId(String teacherId){
this.teacherId=teacherId;
}
public String getTeacherId(){
return this.teacherId;
}
public void setTeacherName(String teacherName){
this.teacherName=teacherName;
}
public String getTeacherName(){
return this.teacherName;
}
public void setCursor(Cursor cursor){
this.cursor=cursor;
}
public String getCursor(){
return this.cursor;
}
}
public class Cursor{
private String cursorId;
private String cursorName;
public void setCursorId(String cursorId){
this.cursorId=cursorId;
}
public String getCursorId(){
return this.cursorId;
}
public void setCursorName(String cursorName){
this.cursorName=cursorName;
}
public String getCursorName(){
return this.cursorName;
}
}
xmlの構成
id="teacherMap" type="Teacher">
<id column="teacher_id" jdbcType="VARCHAR" property="teacherId"/>
<result column="teacher_name" jdbcType="VARCHAR" property="teacherName"/>
"cursor_id" javaType="Cursor" property="cursor">
<id column="cursor_id" jdbcType="VARCHAR" property="cursorId"/>
<result column="cursor_name" jdbcType="VARCHAR" property="cursorName"/>
sql文
select a.teacher_id,a.teacher_name,b.cursor_id,b.cursor_name from teacher a left join cursor b on a.cursor_id=b.id
一対多
紹介する
一対多に使用されるのはラベルです.このラベルにはcolumn、ofType、propertyの3つの属性があります.columnは外部キー(クエリー結果のフィールド)に対応しています.ofTypeは外部キーオブジェクトのタイプで、propertyは外部キーオブジェクトのプライマリオブジェクトの名前を指します.このラベルには2つのサブラベルが含まれています.それぞれ
≪インスタンス|Instance|emdw≫
1人の先生は複数の学生に対応しており、先生対象には先生番号(teacherId)、先生名(teacherName)、学生対象集合(Liststudents)、学生対象には学生番号(student_id)、学生名(student_name)が含まれている.
JAvaクラス
public class Teacher{
private String teacherId;
private String teacherName;
private List students;
public void setTeacherId(String teacherId){
this.teacherId=teacherId;
}
public String getTeacherId(){
return this.teacherId;
}
public void setTeacherName(String teacherName){
this.teacherName=teacherName;
}
public String getTeacherName(){
return this.teacherName;
}
public void setStudents(List students){
this.students=students;
}
public String getStudents(){
return this.students;
}
}
public class Student{
private String cursorId;
private String cursorName;
public void setStudentId(String studentId){
this.studentId=studentId;
}
public String getStudentId(){
return this.studentId;
}
public void setStudentName(String studentName){
this.studentName=studentName;
}
public String getStudentName(){
return this.studentName;
}
}
xml構成
id="teacherMap" type="Teacher">
<id column="teacher_id" jdbcType="VARCHAR" property="teacherId"/>
<result column="teacher_name" jdbcType="VARCHAR" property="teacherName"/>
"student_id" ofType="student" property="students">
<id column="student_id" jdbcType="VARCHAR" property="studentId"/>
<result column="student_name" jdbcType="VARCHAR" property="studentName">
sql
select a.teacher_id,a.teacher_name,b.student_id,b.student_name from teacher a left join student b on a.teacher_id=b.teacher_id
以上、具体的なデータベースデータやデータを作成するsqlはご自身で作成してください.