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

溫馨提示×

溫馨提示×

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

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

在MyBatis中實現多表連接查詢的方法

發布時間:2020-12-10 15:44:05 來源:億速云 閱讀:1529 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關在MyBatis中實現多表連接查詢的方法,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

多表連接的兩種方式(數據庫邏輯模型):

1.一對一關系

2.一對多關系

一、通過 resultMap 和 association 實現一對一關系

在 mapper.xml 文件里面的代碼:

 <resultMap type="com.pojo.TRecruitment" id="tRecruitmentCollegeResultMap">
	<id property="id" column="id" />
	<result property="title" column="title" />
	<result property="litimg" column="litimg" />
	<result property="publishedTime" column="published_time" />
	<result property="author" column="author" />
	<result property="collegeId" column="college_id" />
	<result property="type" column="type" />
	<result property="details" column="details" />
	
	<!-- association :配置一對一屬性 -->
	<!-- property:實體類中里面的 TCollege 屬性名 -->
	<!-- javaType:屬性類型 -->
	<association property="tCollege" javaType="com.pojo.TCollege" >
		<!-- id:聲明主鍵,表示 college_id 是關聯查詢對象的唯一標識-->
		<id property="collegeId" column="college_id" />
		<result property="collegeName" column="college_name" />
		<result property="collegeImg" column="college_img" />
	</association>
</resultMap>
 
<!-- 一對一關聯,查詢訂單,訂單內部包含用戶屬性 -->
<select id="querytTRecruitmentResultMap" resultMap="tRecruitmentCollegeResultMap">
	SELECT
	r.id,
	r.title,
	r.litimg,
	r.published_time,
	r.author,
	r.type,
	r.details,
	c.college_name
	FROM
	`t_recruitment` r
	LEFT JOIN `t_college` c ON r.college_id = c.college_id
</select>

在 mapper.java 文件里面寫接口:

List<TRecruitment> querytTRecruitmentResultMap();

在對應的實體類中聲明另外一個實體類:

在MyBatis中實現多表連接查詢的方法

二、通過 resultMap 和 collection 實現一對多關系

xml 文件:

<!-- 一個用戶,擁有多個訂單 -->
<resultMap type="User" id="UserAndOrdersResultMap">
 
	<!-- 先配置 User 的屬性 -->
	<id column="id" property="id" />
	<result column="username" property="username" />
	<result column="birthday" property="birthday" />
	<result column="sex" property="sex" />
	<result column="address" property="address" />
 
	<!-- 再配置 Orders 集合 -->
	<collection property="ordersList" ofType="Orders">
		<id column="oid" property="id" />
		<result column="user_id" property="userId" />
		<result column="number" property="number" />
		<result column="createtime" property="createtime" />
	</collection>
 
</resultMap>
 
<select id="findUserAndOrders" resultMap="UserAndOrdersResultMap">
	SELECT u.*, o.`id` oid, o.`number`, o.`createtime`
	FROM USER u, orders o
	WHERE u.`id` = o.`user_id`;
</select>

在MyBatis中實現多表連接查詢的方法

關于在MyBatis中實現多表連接查詢的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

霞浦县| 公主岭市| 长沙市| 舞阳县| 宣化县| 平远县| 高台县| 天祝| 陈巴尔虎旗| 刚察县| 竹北市| 达拉特旗| 保德县| 太原市| 石柱| 南皮县| 延边| 襄城县| 栾城县| 夏河县| 阳东县| 游戏| 枣庄市| 屯门区| 桦南县| 纳雍县| 淳安县| 丹凤县| 扬州市| 四会市| 景泰县| 嘉定区| 黄冈市| 怀化市| 东安县| 同仁县| 会宁县| 朝阳区| 永济市| 平罗县| 泸西县|