Java Mybatis 联查join resultMap对应
需求:商品计量单位,其中计量单位名称是独立表里存储的,请求商品-计量单位时,需要把名称一起返回
以下代码 name 和 metering 二选一就可,这里方便测试,2个都写了,方便比较
// 商品计量单位表
public class GoodsMetering implements Serializable {private Long id;// 商品IDprivate Long goodsId// 基础档-计量单位IDprivate Long meteringId;// 售价private Integer price;// 进价private Integer purchasePrice;private Integer status;private Date createTime;private Date modifyTime;// 计量单位 名称private String name;// 计量单位,测试用private Metering metering;
}
// 基础档-计量单位
public class Metering implements Serializable {private Long id;// 计量单位名称private String name;private Date createTime;private Date modifyTime;
}
2种方式,
一种是直接在 GoodsMetering, 加个字段 名字 name,直接用 <result column>来实现:
一种是增加Metering字段,用association来实现
column表示sql语句里的字段名
property表示对象里的字段名
<resultMap id="BaseJoinMeteringResultMap" type="com.ishehui.dmstore.entity.GoodsMetering" ><id column="id" property="id" jdbcType="BIGINT" /><result column="goods_id" property="goodsId" jdbcType="BIGINT" /><result column="metering_id" property="meteringId" jdbcType="BIGINT" /><result column="price" property="price" jdbcType="INTEGER" /><result column="purchase_price" property="purchasePrice" jdbcType="INTEGER" /><result column="status" property="status" jdbcType="INTEGER" /><result column="create_time" property="createTime" jdbcType="TIMESTAMP" /><result column="modify_time" property="modifyTime" jdbcType="TIMESTAMP" /><result column="m_name" property="name" jdbcType="VARCHAR" /><association property="metering" javaType="com.ishehui.dmstore.entity.Metering"><id column="m_id" property="id" /><result column="m_name" property="name"/></association>
sql语句
<select id="selectExtendByGoodsId" resultMap="BaseJoinMeteringResultMap" parameterType="java.lang.Long">selectgm.id id,gm.goods_id goods_id,gm.metering_id metering_id,gm.price price,gm.purchase_price purchase_price,gm.status status,gm.create_time create_time,gm.modify_time modify_time,m.id m_id,m.name m_namefrom goods_metering gm left join metering m on gm.metering_id = m.idwhere gm.goods_id = #{goodsId,jdbcType=BIGINT}and gm.status = 10</select>
参考
MyBatis 多表连接查询
Java Mybatis 联查join resultMap对应相关推荐
- java mybatis多层collection嵌套查询
java mybatis多层collection嵌套查询 1.实体 package com.humi.iem.common.model.equipment;import io.swagger.anno ...
- MyBatis之使用resultMap实现高级映射
MyBatis之使用resultMap实现高级映射 2017/09/30 对于数据库中对表的增删改查操作,我们知道增删改都涉及的是单表,而只有查询操作既可以设计到单表操作又可以涉及到多表操作,所以对于 ...
- MyBatis -- resultType 和 resultMap
MyBatis -- resultType 和 resultMap 一.返回类型:resultType 二.返回字典映射:resultMap 一.返回类型:resultType 绝⼤数查询场景可以使用 ...
- mybatis中的ResultMap使用
mybatis中的ResultMap使用 文章目录 mybatis中的ResultMap使用 一.自动映射 二.手动映射 1.返回值类型为resultMap 2.编写resultMap,实现手动映射! ...
- Java Mybatis 框架 VII 之 Mybatis 扩展
Java Mybatis 框架 VII 之 Mybatis 扩展 Mybatis 扩展 1.关于#{}和${}格式的占位符 ● 在Mybatis中,配置SQL语句时,参数可以使用#{}或${}格式的占 ...
- java mybatis基础
java mybatis基础 1.1 什么是mybatis? mybatis是一个优秀的持久层框架. 避免几乎所有的JDBC代码和手动设置参数以及获取结果集的过程. 可以使用简单的xml或者注解来配置 ...
- Java 11:JOIN表,获取Java流
是否曾经想过如何将联接的数据库表转换为Java Stream? 阅读这篇简短的文章,并了解如何使用Speedment Stream ORM完成它. 我们将从Java 8示例开始,然后研究Java 11 ...
- java毕业设计——基于java+MyBatis+jsp的网上招聘系统设计与实现(毕业论文+程序源码)——网上招聘系统
基于java+MyBatis+jsp的网上招聘系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+MyBatis+jsp的网上招聘系统设计与实现,文章末尾附有本毕业设计的论文和源 ...
- Java MyBatis的介绍及其执行原理
写在前面 ??MyBatis学习 ??今天我们进行MyBatis框架的学习,认识MyBatis及其执行原理,感谢你的阅读,内容若有不当之处,希望大家多多指正,一起进步!!! 如果觉得博主文章还不错,可 ...
最新文章
- Halliburton首席数据科学家兼技术研究员谈能源行业AI应用现状
- ASP绕过防注入的新思路
- 学习java得一些笔记(5)
- 博士申请 | 香港中文大学(深圳)罗元教授招收计算机与信息工程全奖博士
- TOMCAT虚拟路径配置
- 【Spring MVC】 maven pom.xml 错误: Cannot upgrade/downgrade to Dynamic Web Module 3.0 facet.
- 华为平板wps语音朗读_华为平板M6 10.8英寸综合评测 目前体验最好的安卓平板
- python 主要内容,介绍一些有关python的重要内容
- Andorid与webView交互,获取webView选中文字,兼容了iframe
- ArrayList基操
- Unable to delete directory: D:\Downloads\githubdownfive\tianxmyapp\library\
- 2019 高考填报志愿建议
- zabbix详解(七)——zabbix邮件报警设置
- 接口测试-jmeter
- python中fontsize_python size
- 带农历日期的html代码,很全的显示阴历(农历)日期的js代码
- python壁纸数据抓取_Python爬虫:爬取必应壁纸(可直接运行)
- PACP学习笔记三:PCAP方法说明
- 小提琴统计图_小提琴图解读 - 统计学
- 【LittlevGL】看看LVGL8的draw_ctx