中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MyBatis中一對一,一對多,多對一的用法

發布時間:2021-07-20 22:11:45 來源:億速云 閱讀:163 作者:chen 欄目:大數據

這篇文章主要介紹“MyBatis中一對一,一對多,多對一的用法”,在日常操作中,相信很多人在MyBatis中一對一,一對多,多對一的用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MyBatis中一對一,一對多,多對一的用法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

MyBatis簡介

MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis 。2013年11月遷移到Github。
iBATIS一詞來源于“internet”和“abatis”的組合,是一個基于Java的持久層框架。  iBATIS  提供的持久層框架包括SQL Maps和Data Access Objects(DAOs)
當前,最新版本是MyBatis 3.5.4 ,其發布時間是2020年2月4日。

了解了MyBatis那么我們就來看看在Java中如何使用MyBatis做一對一,一對多,多對一查詢吧。

java實體類對象

public class Teacher {  private Integer id;  private String name;  private List<Student> students;

 //......此處省略get,set方法}

public class Student{  private Integer id;  private String name;  private Teacher  teacher ;    //......此處省略get,set方法}

Java Dao層代碼

/***一對一:查某個學生信息并且查出他的老師*/Student queryStudentInfoById(@Param("id") Integer id);/***一對多: 查某個老師并且查出老師所有的學生*/Teacher queryTeacherInfoById(@Param("id") Integer id);/***多對一:查詢所有同學并且查出同學對應的老師*/List<Student> queryStudentInfo();

一對一:查某個學生信息并且查出他的老師

<resultMap id="resultMap" type="com.test.Student">    <result column="id" jdbcType="INTEGER" property="id" />    <result column="name" jdbcType="VARCHAR" property="name" />    <association property="teacher" javaType="ArrayList" ofType="com.test.Student" select="getTeacherInfoByTeacherId" column="teacher_id"/>  </resultMap>

<select id="queryStudentInfoById" resultType="com.test.Student">    SELECT id,name,teacher_id FROM student WHERE id = #{id}  </select>

<select id="getTeacherInfoByTeacherId" resultType="com.test.Teacher">    select  id,name  from teacher where id = #{teacher_id} </select>

一對多: 查某個老師并且查出老師所有的學生

<resultMap id="resultMap" type="com.test.Teacher">    <result column="id" jdbcType="INTEGER" property="id" />    <result column="name" jdbcType="VARCHAR" property="name" />    <collection property="students" javaType="ArrayList" ofType="com.test.Student" select="getStudentInfoByTeacherId" column="id"/>  </resultMap>

<select id="queryTeacherInfoById" resultType="com.test.Teacher">    SELECT id,name FROM teacher where id = #{id}  </select>

<select id="getStudentInfoByTeacherId" resultType="com.test.Student">    select  id,name  from student where teacher_id = #{id} </select>

多對一:查詢所有同學并且查出同學對應的老師

<resultMap id="resultMap" type="com.test.Student">    <result column="id" jdbcType="INTEGER" property="id" />    <result column="name" jdbcType="VARCHAR" property="name" />    <association property="teacher" javaType="ArrayList" ofType="com.test.Student" select="getTeacherInfoByTeacherId" column="teacher_id"/>  </resultMap>

<select id="queryStudentInfo" resultType="com.test.Student">    SELECT id,name FROM student  </select>

<select id="getTeacherInfoByTeacherId" resultType="com.test.Teacher">    select  id,name  from teacher where id = #{teacher_id} </select>

到此,關于“MyBatis中一對一,一對多,多對一的用法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

施秉县| 灌南县| 礼泉县| 连江县| 米林县| 温州市| 金沙县| 申扎县| 丰原市| 永和县| 广灵县| 龙陵县| 尚志市| 靖州| 广饶县| 棋牌| 富宁县| 苏尼特右旗| 雷山县| 晋州市| 石台县| 新田县| 伊通| 苏尼特右旗| 松桃| 文安县| 阜平县| 尚义县| 永春县| 绥芬河市| 天台县| 乌兰察布市| 娄烦县| 徐州市| 怀来县| 嘉鱼县| 桂林市| 汤原县| 青海省| 望奎县| 阳谷县|