博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis:resultMap的使用总结
阅读量:4678 次
发布时间:2019-06-09

本文共 2695 字,大约阅读时间需要 8 分钟。

resultMap是Mybatis最强大的元素,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中。

resultMap包含的元素:

复制代码

  如果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:

  

二、商品pojo类添加属性集合:

一个商品会有一些属性,现在需要将查询出的商品属性添加到商品对象中,首先需要在原商品pojo类的基础上中添加属性的集合:

复制代码    /**     * 属性集合     */    private List
attributes; /** * 获得属性集合 */ public List
getAttributes() { return attributes; } /** * 设置属性集合 * @param attributes */ public void setAttributes(List
attributes) { this.attributes = attributes; }复制代码

  

将Collection标签添加到resultMap中,这里有两种方式:

1、嵌套结果:

对应的resultMap:

复制代码

  查询语句:

  

2、关联的嵌套查询(在collection中添加select属性):

商品结果集映射resultMap:

  

collection的select会执行下面的查询属性语句:

  属性结果集映射:

  

BasePlusResultMap包含了属性查询语句的Collection

所以通过下面的查询商品语句就可获得商品以及其包含的属性集合

  

 

https://www.cnblogs.com/kenhome/p/7764398.html

转载于:https://www.cnblogs.com/xinruyi/p/11036549.html

你可能感兴趣的文章
嵌入式Linux应用开发完全手册(附光盘)
查看>>
建立文件结构
查看>>
java基础之区块操作
查看>>
「luogu2336」[SCOI2012]喵星球上的点名
查看>>
205 Isomorphic Strings
查看>>
318. Maximum Product of Word Lengths java solutions
查看>>
[bzoj1038] [ZJOI2008]瞭望塔
查看>>
远程桌面 习惯性注销连接,出事了
查看>>
软件工程基本概念
查看>>
MYSQL复习笔记5-select-from-where子句
查看>>
linux 如何释放缓存
查看>>
经典,程序员笑话
查看>>
Linux 抓取网站命令
查看>>
浪叫兽的自我介绍 (完整版) 讲述一段如何进入大数据行业
查看>>
Qt ui在程序中的使用
查看>>
datatables.js 简单使用--弹出编辑框或添加数据框
查看>>
前端--3、jQuery
查看>>
最小化的 Google Analytics 代码
查看>>
服务器监控相关
查看>>
转: 环信联合创始人:App主流反垃圾服务难点和技术实现全解析
查看>>