日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybatis的resultMap配置详解

發布時間:2024/3/24 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis的resultMap配置详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、mybatis的實體類繼承

參考資料:
1、mybatis中實體類,po類繼承另一個po類的情況
2、mybatis中resultMap配置細則

實體類的繼承的作用是:可以通過繼承減少代碼在實體類中的重復使用,比如數據庫的表中常常出現的字段所對應的實體類中的屬性。

2、mybatis的resultMap標簽中的屬性extends,可以繼承另外一個命名空間的resultMap標簽。

<mapper namespace="xuecheng.dao.ACVSFundTest"><resultMap id="res" extends="xuecheng.dao.BaseEntityTest.baseCol" type="xuecheng.domain.ACVSFund"><!--<id column="id" property="id"/>--><result column="fund_code" property="fundCode"/><result column="fund_name" property="fundName"/><result column="gmt_Create" property="gmtCreate"/></resultMap>

繼承另一個

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="xuecheng.dao.BaseEntityTest"><resultMap id="baseCol" type="xuecheng.domain.BaseEntity"><id column="id" property="id"/><result column="username" property="username"/><result column="age" property="age"/></resultMap>

一、mybatis的屬性標簽

<resultMap><constructor><idArg/><arg/></constructor><id/><result/><association property=""/><collection property=""/><discriminator javaType=""><case value=""></case></discriminator> </resultMap>

1.1、標簽constructor

默認情況下,mybatis會使用實體類中的無參構造。當提供一個有參構造后,實體類中就不會提供無參構造。這時就需要在resultMap中特殊配置

假設實體類中的配置如下:

public User(Long id, String username, String password, String address) {this.id = id;this.username = username;this.password = password;this.address = address;}

映射文件的配置如下:

<resultMap id="userResultMap" type="org.sang.bean.User"><constructor><idArg column="id" javaType="long"/><arg column="username" javaType="string"/><arg column="password" javaType="string"/><arg column="address" javaType="string"/></constructor></resultMap>

1.2、標簽association

適用的場景是一對一的

兩張表:1、alias

2、province

provinceMapper.xml文件如下

<mapper namespace="xuecheng.dao.ProvinceMapper"><resultMap id="provinceResultMapper" type="xuecheng.domain.Province"><id column="id" property="id"/><!--association 中的屬性property 是一對一中的屬性名稱,column是指傳入參數的idselect 是指執行的方法--><association property="alias" column="id" select="xuecheng.dao.AliasMapper.findAliasByPid"/></resultMap><select id="getProvince" resultMap="provinceResultMapper">SELECT * FROM province</select></mapper>

alias的xml文件如下:

<mapper namespace="xuecheng.dao.AliasMapper"><select id="findAliasByPid" parameterType="long" resultType="xuecheng.domain.Alias">SELECT * FROM alias WHERE pid=#{id}</select> </mapper>

1.3、標簽collection

<resultMap id="provinceResultMapper" type="xuecheng.domain.Province"><id column="id" property="id"/><result column="name" property="name"/><!--association 中的屬性property 是一對一中的屬性名稱,column是指傳入參數的idselect 是指執行的方法--><!--<association property="alias" column="id" select="xuecheng.dao.AliasMapper.findAliasByPid"/>--><!--<collection property="cities" column="id" select="xuecheng.dao.CityMapper.findById"/>--> </resultMap>

1.4、標簽 discriminator (有點類似于switch語句)

<resultMap id="provinceResultMapper" type="xuecheng.domain.Province"><id column="id" property="id"/><result column="name" property="name"/><!--association 中的屬性property 是一對一中的屬性名稱,column是指傳入參數的idselect 是指執行的方法--><!--<association property="alias" column="id" select="xuecheng.dao.AliasMapper.findAliasByPid"/>--><!--collection的測試--><!--<collection property="cities" column="id" select="xuecheng.dao.CityMapper.findById"/>--><!--以下有點類似于switch語句--><discriminator javaType="int" column="area"><case value="1" resultMap="noodleResultMap"></case><case value="2" resultMap="riceResultMap"></case></discriminator><!--以下collection,不能查出準確數據。原因不知因為是啥?--><!--<collection property="cities" ofType="xuecheng.domain.City">--><!--<id column="id" property="id"/>--><!--<result column="name" property="name"/>--><!--<result column="pid" property="pid"/>--><!--</collection>--></resultMap>

1.5、注意點:mybatis的懶加載

1.5.1、開啟的兩種方式,方式一(全局開啟,即對所有查詢):

<settings><setting name="lazyLoadingEnabled" value="true"/><setting name="aggressiveLazyLoading" value="false"/></settings>

說明:lazyLoadingEnabled默認是false,即不開啟。aggressiveLazyLoading默認是true,即按照層級來進行查詢,noodle和rice是同一級,即查詢noodle的同時,rice也查詢。如果是false,即是按需進行查詢,需求查詢noodle的時候,就不去查詢rice了。

1.5.2、方式二(對局部進行操作)

在collection標簽和association標簽中,使用fetchType屬性,eager代表立即加載,lazy代表延遲加載。

<association property="alias" column="id" select="org.sang.db.AliasMapper.findAliasByPid" fetchType="eager"/> <collection property="cities" column="id" select="org.sang.db.CityMapper.findCityByPid" fetchType="lazy"/>

1.6、sql標簽

可以只封裝一部分查詢語句,如下:

<sql id="selectAll3">id,username,address,password </sql>

引用方式如下:

<select id="getUser3" resultType="user">SELECT<include refid="selectAll3"/> FROM user</select>

還可以在封裝的時候使用一些變量,如下:

<sql id="selectAll4">${prefix}.id,${prefix}.username,${prefix}.address </sql>

注意變量引用方式是$符號哦,不是#,引用方式如下:

<select id="getUser4" resultType="user" parameterType="string">SELECT<include refid="selectAll4"><property name="prefix" value="u"/></include> FROM user u </select>

總結

以上是生活随笔為你收集整理的mybatis的resultMap配置详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99国产精品白浆在线观看免费 | 日韩精品无码一区二区三区 | 99热热 | 天天干狠狠操 | 久久精品不卡 | 五月天国产在线 | 日韩一区二区三区四区在线 | 啪啪网页| 麻豆黄色片| 瑟瑟网站免费 | 秋霞影院午夜老牛影院 | 亚州av成人 | 亚洲人成电影在线播放 | 中文字幕一区二区三区四区 | 岛国成人在线 | 91在线播放视频 | 青青操在线观看视频 | 特级黄色大片 | 国产夜色精品一区二区av | 亚洲精品鲁一鲁一区二区三区 | 欧美日韩人妻精品一区二区三区 | 不卡av在线 | 91福利在线导航 | 性视屏| 国产乱在线 | 污污免费在线观看 | 老子影院午夜精品无码 | 亚洲欧美在线视频免费 | 国产乱码久久久久久 | 2级黄色片| 黑人专干日本人xxxx | av中亚| 欧美一区二区三区久久 | 无码内射中文字幕岛国片 | 日韩欧美国产视频 | 91精品在线观看入口 | 无遮挡毛片 | 久久精品免费电影 | 中文字幕一区二区人妻痴汉电车 | 日本福利一区二区 | 国模吧一区二区三区 | 成人精品网址 | 国产精品社区 | 都市激情亚洲一区 | 夜夜免费视频 | 日韩一区二区三区av | 国产操人| 精品国产99| 黄色网页在线播放 | 激情国产在线 | 99国产精品久久久久久久 | 久久免费播放视频 | 夫の上司に犯波多野结衣853 | 嫩草嫩草嫩草嫩草 | 亚洲激情专区 | 男男做爰猛烈叫床爽爽小说 | 夜夜嗨av一区二区三区免费区 | 色哟哟网站入口 | 噜噜噜精品欧美成人 | 香蕉视频免费在线观看 | jizzjizz免费 | 欧美一本| 亚洲精品一区二区在线 | 色综合日韩| 亚洲黄一区 | www.久久精品视频 | 蜜桃无码一区二区三区 | 一级特黄录像免费看 | 欧美日韩视频在线 | 水蜜桃av在线 | 我爱52av| 国产精品毛片一区二区在线看舒淇 | 久久高清免费 | 国产黄免费 | 国产精品1页 | 91本色| 伊人影院在线视频 | 老师上课夹震蛋高潮了 | 亚洲日本成人 | 国产伦理片在线观看 | 午夜福利一区二区三区 | 91抖音在线观看 | 国模精品一区二区三区 | 国产成人一区 | 国产午夜激情 | 福利一二区 | 免费成年人视频在线观看 | 色综合图片 | www.jizz国产 | 一起草最新网址 | 一区二区三区免费播放 | 黄色的网站在线观看 | 污污的视频软件 | 四虎国产 | 91午夜免费视频 | caoporn免费在线 | 久久久九九 | 亚洲欧美一区二区三区 | 日韩人妻无码精品综合区 |