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

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

Mybatis中resultMap的使用總結

瀏覽:8日期:2023-10-18 18:42:44

Mybatis的介紹以及使用:http://www.mybatis.org/mybatis-3/zh/index.html

resultMap是Mybatis最強大的元素,它可以將查詢到的復雜數據(比如查詢到幾個表中數據)映射到一個結果集當中。

resultMap包含的元素:

<!--column不做限制,可以為任意表的字段,而property須為type 定義的pojo屬性--><resultMap type='映射的pojo對象'> <id column='表的主鍵字段,或者可以為查詢語句中的別名字段' jdbcType='字段類型' property='映射pojo對象的主鍵屬性' /> <result column='表的一個字段(可以為任意表的一個字段)' jdbcType='字段類型' property='映射到pojo對象的一個屬性(須為type定義的pojo對象中的一個屬性)'/> <association property='pojo的一個對象屬性' javaType='pojo關聯的pojo對象'> <id column='關聯pojo對象對應表的主鍵字段' jdbcType='字段類型' property='關聯pojo對象的主席屬性'/> <result column='任意表的字段' jdbcType='字段類型' property='關聯pojo對象的屬性'/> </association> <!-- 集合中的property須為oftype定義的pojo對象的屬性--> <collection property='pojo的集合屬性' ofType='集合中的pojo對象'> <id column='集合中pojo對象對應的表的主鍵字段' jdbcType='字段類型' property='集合中pojo對象的主鍵屬性' /> <result column='可以為任意表的字段' jdbcType='字段類型' property='集合中的pojo對象的屬性' /> </collection></resultMap>

如果collection標簽是使用嵌套查詢,格式如下:

<collection column='傳遞給嵌套查詢語句的字段參數' property='pojo對象中集合屬性' ofType='集合屬性中的pojo對象' select='嵌套的查詢語句' > </collection>

注意:<collection>標簽中的column:要傳遞給select查詢語句的參數,如果傳遞多個參數,格式為column= ” {參數名1=表字段1,參數名2=表字段2} ;

以下以實例介紹resultMap的用法:一、簡單需求:一個商品的結果映射;

1、創建商品pojo對象:

public class TShopSku { /** * 主鍵ID */ private Long id; /** * 商品名 */ private String skuName; /** * 分類ID */ private Long categoryId; /** * 主鍵ID * @return ID */ public Long getId() {return id; } /** * 主鍵ID, * @param id */ public void setId(Long id) {this.id = id; } /** * 商品名 * @return SKU_NAME 商品名 */ public String getSkuName() {return skuName; } /** * 商品名 * @param skuName 商品名 */ public void setSkuName(String skuName) {this.skuName = skuName == null ? null : skuName.trim(); } /** * 分類ID * @return CATEGORY_ID 分類ID */ public Long getCategoryId() {return categoryId; } /** * 分類ID * @param categoryId 分類ID */ public void setCategoryId(Long categoryId) {this.categoryId = categoryId; }

對應的resultMap:

<resultMap type='com.meikai.shop.entity.TShopSku'> <id column='ID' jdbcType='BIGINT' property='id' /> <result column='SKU_NAME' jdbcType='VARCHAR' property='skuName' /> <result column='CATEGORY_ID' jdbcType='BIGINT' property='categoryId' /></resultMap> 二、商品pojo類添加屬性集合:

一個商品會有一些屬性,現在需要將查詢出的商品屬性添加到商品對象中,首先需要在原商品pojo類的基礎上中添加屬性的集合:

/** * 屬性集合 */ private List<TShopAttribute> attributes; /** * 獲得屬性集合 */ public List<TShopAttribute> getAttributes() {return attributes; }/** * 設置屬性集合 * @param attributes */ public void setAttributes(List<TShopAttribute> attributes) {this.attributes = attributes; }

將Collection標簽添加到resultMap中,這里有兩種方式:

1、嵌套結果:

對應的resultMap:

<resultMap type='com.meikai.shop.entity.TShopSku'> <id column='ID' jdbcType='BIGINT' property='id' /> <result column='SKU_NAME' jdbcType='VARCHAR' property='skuName' /> <result column='CATEGORY_ID' jdbcType='BIGINT' property='categoryId' /> <collection property='attributes' ofType='com.meikai.shop.entity.TShopAttribute' > <id column='AttributeID' jdbcType='BIGINT' property='id' /><result column='attribute_NAME' jdbcType='VARCHAR' property='attributeName' /> </collection></resultMap>

查詢語句:

<select resultMap='basePlusResultMap'> select s.ID,s.SKU_NAME,s.CATEGORY_ID,a.ID,a.ATTRIBUTE_NAME from t_shop_sku s,t_shop_attribute a where s.ID =a.SKU_ID and s.ID = #{id,jdbcType =BIGINT};</select>

2、關聯的嵌套查詢(在collection中添加select屬性):

商品結果集映射resultMap:

<resultMap type='com.meikai.shop.entity.TShopSku'> <id column='ID' jdbcType='BIGINT' property='id' /> <result column='SKU_NAME' jdbcType='VARCHAR' property='skuName' /> <result column='CATEGORY_ID' jdbcType='BIGINT' property='categoryId' /> <collection column='{skuId=ID}' property='attributes' ofType='com.meikai.shop.entity.TShopAttribute' select='getAttribute' > </collection></resultMap>

collection的select會執行下面的查詢屬性語句:

<select resultMap='AttributeResultMap'> select a.ID,s.ATTRIBUTE_NAME from t_shop_attribute a where a.ID = #{skuId,jdbcType =BIGINT};</select>

屬性結果集映射:

<resultMap type='com.meikai.shop.entity.TShopAttribute'> <id column='ID' jdbcType='BIGINT' property='id' /> <result column='ATTRIBUTE_NAME' jdbcType='VARCHAR' property='attributeName' /></resultMap>

BasePlusResultMap包含了屬性查詢語句的Collection

所以通過下面的查詢商品語句就可獲得商品以及其包含的屬性集合:

<select resultMap='BasePlusResultMap'> select s.ID,s.SKU_NAME,s.CATEGORY_ID from t_shop_sku s where s.ID = #{id,jdbcType =BIGINT};</select>

到此這篇關于Mybatis中resultMap的使用總結的文章就介紹到這了,更多相關Mybatis resultMap 使用內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 模具硅橡胶,人体硅胶,移印硅胶浆厂家-宏图硅胶科技 | 桥架-槽式电缆桥架-镀锌桥架-托盘式桥架 - 上海亮族电缆桥架制造有限公司 | 刚性-柔性防水套管-橡胶伸缩接头-波纹管补偿器-启腾供水材料有限公司 | 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 纸塑分离机-纸塑分离清洗机设备-压力筛-碎浆机厂家金双联环保 | 层流手术室净化装修-检验科ICU改造施工-华锐净化工程-特殊科室建设厂家 | 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 | 球磨机 选矿球磨机 棒磨机 浮选机 分级机 选矿设备厂家 | 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | 彩信群发_群发彩信软件_视频短信营销平台-达信通 | 冷热冲击试验箱_温度冲击试验箱价格_冷热冲击箱排名_林频厂家 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 伺服电机维修、驱动器维修「安川|三菱|松下」伺服维修公司-深圳华创益 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 汕头市盛大文化传播有限公司,www.11400.cc| 电销卡_北京电销卡_包月电话卡-豪付网络 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 大型工业风扇_工业大风扇_大吊扇_厂房车间降温-合昌大风扇 | 防爆大气采样器-防爆粉尘采样器-金属粉尘及其化合物采样器-首页|盐城银河科技有限公司 | 防弹玻璃厂家_防爆炸玻璃_电磁屏蔽玻璃-四川大硅特玻科技有限公司 | 河北凯普威医疗器材有限公司,高档轮椅系列,推车系列,座厕椅系列,协步椅系列,拐扙系列,卫浴系列 | 噪声治理公司-噪音治理专业隔音降噪公司| 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 坏男孩影院-提供最新电影_动漫_综艺_电视剧_迅雷免费电影最新观看 | 自动配料系统_称重配料控制系统厂家 | 消防设施操作员考试报名时间,报名入口,报考条件 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 煤棒机_增碳剂颗粒机_活性炭颗粒机_木炭粉成型机-巩义市老城振华机械厂 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 合肥弱电工程_安徽安防工程_智能化工程公司-合肥雷润 | 大学食堂装修设计_公司餐厅效果图_工厂食堂改造_迈普装饰 | SMN-1/SMN-A ABB抽屉开关柜触头夹紧力检测仪-SMN-B/SMN-C-上海徐吉 | J.S.Bach 圣巴赫_高端背景音乐系统_官网 | 南京交通事故律师-专打交通事故的南京律师 | 净气型药品柜-试剂柜-无管道净气型通风柜-苏州毕恩思 | 成都离婚律师|成都结婚律师|成都离婚财产分割律师|成都律师-成都离婚律师网 | 网站建设-网站制作-网站设计-网站开发定制公司-网站SEO优化推广-咏熠软件 |