电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

mybatis多層嵌套resultMap及返回自定義參數詳解

瀏覽:50日期:2023-10-21 08:59:27

1.兩層嵌套,一個list中加另外一個list

data:[{a:123,b:456,c:[{d:7,e:8}]}]

xml文件定義的sql

select * from zhy z LEFT JOIN wl w on z.id = w.zid

resultMap可以定義:

<resultMap type='zhy的doman實體' extends='zhy自動生成的BaseResultMap'> <collection property='c' resultMap='wl自動生成的BaseResultMap'/></resultMap>

如果測試表zhy與wl表中存在重復名稱的字段可以使用columnPrefix

注意w_

select z.*,w.b as w_b,w.c as w_c from zhy z LEFT JOIN wl w on z.id = w.zid

<resultMap type='zhy的doman實體' extends='zhy自動生成的BaseResultMap'> <collection property='c' resultMap='wl自動生成的BaseResultMap' columnPrefix='w_'/></resultMap>

如果接收的實體是自定義的實體并且還有默認參數

當resultMap返回的實體中存在默認值的時候,發現外層的zhy是可以賦值成功的,但是內層的wl卻沒有,這個時候需要將自動生成的BaseResultMap復制一份重新定義接收實體類

/** * 比如這樣實體接收中存在默認賦值 * * @author zhy */@EqualsAndHashCode(callSuper = true)@Datapublic class WlVo extends Wl { /** * 默認賦值false */ private boolean select = false;}

將type改為自定義的之后在引用

<resultMap type='com.yasugongshang.db.vo.WlVo'> <id column='id' jdbcType='BIGINT' property='id' /> <result column='a' jdbcType='BIGINT' property='a' /></resultMap><resultMap type='zhy的doman實體' extends='zhy自動生成的BaseResultMap'> <collection property='c' resultMap='wlBaseResultMap' columnPrefix='w_'/></resultMap>

2.三層嵌套,一個list中加另外一個list,內list中還存在list

data:[{a:123,b:456,c:[{d:7,e:8,f:[str]}]}]

這時候只需要在內層wlBaseResultMap中再增加一個collection即可

需要注意的是這個時候columnPrefix可能會導致數據為空

<resultMap type='com.yasugongshang.db.vo.WlVo'> <id column='id' jdbcType='BIGINT' property='id' /> <result column='a' jdbcType='BIGINT' property='a' /> <collection property='f' ofType='string'> <id column='f' jdbcType='VARCHAR'/> </collection></resultMap>

補充知識:Mybatis中查詢返回多個對象使用resultType使用Map類型代替resultMap

查詢resultType直接使用Type,Dao層返回對象為List嵌套的一個Map數據結構

List<Map<String,Object>> selectAll();<select resultType='Map'> //查詢語句</select>

其中Map的key值為查詢的屬性,Object為查詢的值.

注:使用map類型無法轉換成駝峰命名,建議還是使用resultMap類型

以上這篇mybatis多層嵌套resultMap及返回自定義參數詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 锡膏喷印机-全自动涂覆机厂家-全自动点胶机-视觉点胶机-深圳市博明智控科技有限公司 | 厌氧反应器,IC厌氧反应器,厌氧三相分离器-山东创博环保科技有限公司 | 继电器模组-IO端子台-plc连接线-省配线模组厂家-世麦德 | 防爆电机生产厂家,YBK3电动机,YBX3系列防爆电机,YBX4节防爆电机--河南省南洋防爆电机有限公司 | crm客户关系管理系统,销售管理系统,crm系统,在线crm,移动crm系统 - 爱客crm | 蓄电池在线监测系统|SF6在线监控泄露报警系统-武汉中电通电力设备有限公司 | 健身器材-健身器材厂家专卖-上海七诚健身器材有限公司 | 冷水机,风冷冷水机,水冷冷水机,螺杆冷水机专业制造商-上海祝松机械有限公司 | 河南凯邦机械制造有限公司| hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 高博医疗集团上海阿特蒙医院| 慈溪麦田广告公司,提供慈溪广告设计。 | 科研ELISA试剂盒,酶联免疫检测试剂盒,昆虫_植物ELISA酶免试剂盒-上海仁捷生物科技有限公司 | 液晶拼接屏厂家_拼接屏品牌_拼接屏价格_监控大屏—北京维康 | 磁力抛光机_磁力研磨机_磁力去毛刺机_精密五金零件抛光设备厂家-冠古科技 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 合肥办公室装修 - 合肥工装公司 - 天思装饰 | 集装箱展厅-住人集装箱住宿|建筑|房屋|集装箱售楼处-山东锐嘉科技工程有限公司 | 滑石粉,滑石粉厂家,超细滑石粉-莱州圣凯滑石有限公司 | 河北码上网络科技|邯郸小程序开发|邯郸微信开发|邯郸网站建设 | 安徽合肥项目申报咨询公司_安徽合肥高新企业项目申报_安徽省科技项目申报代理 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 工业冷却塔维修厂家_方形不锈钢工业凉水塔维修改造方案-广东康明节能空调有限公司 | 天长市晶耀仪表有限公司 | 蒜肠网-动漫,二次元,COSPLAY,漫展以及收藏型模型,手办,玩具的新媒体.(原变形金刚变迷TF圈) | 金属软管_不锈钢金属软管_巩义市润达管道设备制造有限公司 | 气体热式流量计-定量控制流量计(空气流量计厂家)-湖北南控仪表科技有限公司 | 路面机械厂家 | 算命免费_生辰八字_免费在线算命 - 卜算子算命网 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 1000帧高速摄像机|工业高速相机厂家|科天健光电技术 | 有机废气处理-rto焚烧炉-催化燃烧设备-VOC冷凝回收装置-三梯环境 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 乐之康护 - 专业护工服务平台,提供医院陪护-居家照护-居家康复 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 细沙回收机-尾矿干排脱水筛设备-泥石分离机-建筑垃圾分拣机厂家-青州冠诚重工机械有限公司 | 世纪豪门官网 世纪豪门集成吊顶加盟电话 世纪豪门售后电话 |