アノテーションを使用してMyBatisのクエリ

注釈MyBatisのクエリを使用するには、2つの主要な方法があります。

まず、分割表のクエリを使用せずに二回のクエリ、そして仲間の統合、。

1、マッパーファイル:

1      @Select(「SELECT stu.id、stu.stu_key、stu.stu_no、stu.stu_name、stu.tel、stu.email_add、stu.birthdate、stu.gender、stu.school_id、stu.college_id、stu.major_id、 stu.class_id、stu.description、stu.remark、stu.create_date、WHERE stu.stu_key stu.update_date stu_info STU stuKey FROM} = {# " 2      @Results({
 3。          
4。             @Result(
 5                      // 重要:カラム:外部キープロパティに関連する:エンティティ・クラス属性ではなく、フィールド、StuInfo内部
6                      列= "school_id"、プロパティ= " schoolInfoは " 7                      つ@One =(SELECT = "com.ahu.mapper.StuInfoMapper.getSchoolInfo" 。8  9     })
 10      StuInfo showCompInfoByStuKey(文字列stuKey)。
11  
12      @Select( "SELECT school_info.id、school_info.school_id、school_info.school_name、school_info.create_time、school_info.update_time、school_info.school_id =#{school_info.school_id} school_info FROM school_info.remark" 13      SchoolInfo getSchoolInfo() ;

2、StuInfoエンティティクラス

1  @Data
 2  パブリック クラス StuInfo 実装シリアライズ{
 3。 
4。     // @TableId(タイプ= IdType.AUTO)// 自己増力自己増力主キーを設定するための主キー・データベースの必要性
5。     非公開整数ID;
 6      // stuKeyは、主キーとしてない使用戦略を使用して更新操作
7。      @TableField(updateStrategy = FieldStrategy.NEVER)
 8。     プライベートストリングstuKey;
 9      プライベート文字列stuno;
 10      プライベート文字列stuname;
 11      プライベート文字列のパスワード、
 12は     プライベート文字列電話;
 13であります     プライベート文字列emailAdd;
 14      / ** 
15       * @description:アノテーションは主@JsonFormat受信時刻形式に変換バックで
 16       主として前後*注意@DataFormAT時間フォーマット変換
 17。      * / 
18である      @JsonFormat(パターン= "MM-DD-YYYY"、タイムゾーン= "GMT + 8。" 19。      @DateTimeFormat(パターン= "MM-DD-YYYY" 20は     プライベートA日生年月日;
 21は、     プライベート文字列性別;
 22は、     プライベートストリングschoolId;
 23は、     プライベートストリングcollegeId。
 24      プライベート文字列majorId;
 25      プライベート文字列のclassid;
 26     プライベート文字列の記述。
27      プライベート文字列の発言。
28      @JsonFormat(パターン= "YYYY-MM-DD HH:MM:SS"、時間帯= "GMT + 8" 29      @DateTimeFormat(パターン= "YYYY-MM-DD HH:MM:SS" 30      プライベート日付CREATEDATE ;
31      @JsonFormat(パターン= "YYYY-MM-DD HH:MM:SS"、時間帯= "GMT + 8" 32      @DateTimeFormat(パターン= "YYYY-MM-DD HH:MM:SS" 33      プライベート日付updateDate ;
 
     
     プライベートCLASSINFO CLASSINFO。
38      @TableField(が存在= 39      プライベートCollegeInfo collegeInfo。
40      @TableField(が存在= 41      プライベートMajorInfo majorInfo。
42      @TableField(が存在= 43      プライベートSchoolInfo schoolInfo44 }

第二に、リンクテーブルのクエリを使用して再度クエリ、。

1      @Select(「SELECT stu.id、stu.stu_key、stu.stu_no、stu.stu_name、stu.tel、stu.email_add、stu.birthdate、stu.gender、stu.school_id、sch.school_name、stu.college_id、 stu_info STU左からcol.college_name、stu.major_id、maj.major_name、stu.class_id、cla.class_name、stu.description、stu.remark、stu.create_date、stu.update_dateはschool_info SCH上stu.school_id = sch.school_id JOIN LEFT「はcollege_info COL ON stu.college_id = col.college_id LEFT JOINをmajor_info MAJ ON stu.major_id = maj.major_id LEFT JOINをclass_info CLA ON stu.class_id = cla.class_id stu.stu_key =#{stuKey} JOIN 2      @Resultsを({
 3              // @Result(カラム= "school_id"、プロパティ= "schoolId")、
4              @Result(
 5                      //重要:カラム:外部キー関連性:エンティティ・クラス属性ではなく、フィールド、StuInfo stuInfo内部
6                      列=「school_id」、プロパティ=「schoolInfo.schoolId」図7              @Result(
 8は                     // マスターマッピングテーブルも行われ、または空ヌルである
。9                      列= "school_id"、プロパティ= "schoolId" ) 10              @Result(カラム= "school_name"、プロパティ= "schoolInfo.schoolName" 。11              @Result(カラム= "college_id"、プロパティ= "collegeInfo.collegeId" )、
 12は              @Result(カラム= "college_id"、プロパティ= "collegeId" )、
13              @Result(カラム= "college_name"、プロパティ= "collegeInfo.collegeName")、
 14              @Result(カラム= "major_id"、プロパティ= "majorInfo.majorId" )、
 15              @Result(カラム= "major_id"、プロパティ= "majorId" )、
 16              @Result(カラム= "major_name"、プロパティ= "majorInfo.majorName" )、
 17              @Result(カラム= "CLASS_ID"、プロパティ= "classInfo.classId" )、
 18              @Result(カラム= "CLASS_ID"、プロパティ= "CLASSID" )、
 19              @Result(カラム= " CLASS_NAME」、プロパティ= "classInfo.className" )、
20      })
 21      StuInfo showCompInfoByStuKey(文字列stuKey)。

 

 

参考:

1、https://blog.csdn.net/qq_36228916/article/details/93881786

2、https://blog.csdn.net/z357904947/article/details/97975814

おすすめ

転載: www.cnblogs.com/116970u/p/12553276.html