我这里是拿商品做为例子

不多说直接上代码

Mapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nf147.mall.dao.CommodityMapper">
<resultMap id="BaseResultMap" type="com.nf147.mall.entity.Commodity">
<id column="product_id" jdbcType="INTEGER" property="productId"/>
<result column="category_id" jdbcType="INTEGER" property="categoryId"/>
<result column="product_code" jdbcType="VARCHAR" property="productCode"/>
<result column="product_name" jdbcType="VARCHAR" property="productName"/>
<result column="product_content" jdbcType="LONGVARCHAR" property="productContent"/> <!--这里还需要标明关系 property属性对应是实体类的字段名-->
<association property="standard" resultMap="StandardResultMap"></association>
<association property="dommodityattribute" resultMap="DommodityattributeResultMap"></association>
</resultMap> <!--这个是要查询的表1 总之你直接去要查询的表复制就好 -->
<resultMap id="DommodityattributeResultMap" type="com.nf147.mall.entity.Dommodityattribute">
<id column="id" jdbcType="INTEGER" property="id"/>
<result column="product_id" jdbcType="INTEGER" property="productId"/>
<result column="product_simg" jdbcType="VARCHAR" property="productSimg"/>
</resultMap>
<!--这个是要查询的表2-->
<resultMap id="StandardResultMap" type="com.nf147.mall.entity.Standard">
<id column="specs_id" jdbcType="INTEGER" property="specsId"/>
<result column="product_id" jdbcType="INTEGER" property="productId"/>
<result column="product_specs" jdbcType="VARCHAR" property="productSpecs"/>
<result column="product_price" jdbcType="DECIMAL" property="productPrice"/>
</resultMap>

实体类:

public class Commodity {
private Integer productId; private Integer categoryId; private String productCode; private String productName; private String productContent; private Standard standard; //第一个表的实体类 private Dommodityattribute dommodityattribute; //第二个表的实体类 然后再提供 get 和 set 的方法 public Standard getStandard() {
return standard;
} public void setStandard(Standard standard) {
this.standard = standard;
} public Dommodityattribute getDommodityattribute() {
return dommodityattribute;
} public void setDommodityattribute(Dommodityattribute dommodityattribute) {
this.dommodityattribute = dommodityattribute;
} public Integer getProductId() {
return productId;
} public void setProductId(Integer productId) {
this.productId = productId;
} public Integer getCategoryId() {
return categoryId;
} public void setCategoryId(Integer categoryId) {
this.categoryId = categoryId;
} public String getProductCode() {
return productCode;
} public void setProductCode(String productCode) {
this.productCode = productCode == null ? null : productCode.trim();
} public String getProductName() {
return productName;
} public void setProductName(String productName) {
this.productName = productName == null ? null : productName.trim();
} public String getProductContent() {
return productContent;
} public void setProductContent(String productContent) {
this.productContent = productContent == null ? null : productContent.trim();
}
}

希望能帮助大家,谢谢。

Mybatis, 实现一对多的更多相关文章

  1. mybatis的一对多,多对一,以及多对对的配置和使用

    1.本文章是无意中看见易百教程的Mybatis教程才注意到这个问题,平时都仅仅是在用CRUD,忽略了这方面的问题,真实十分羞愧   2.首先我们开始对mybatis的一对多的探究   根据这个应用场景 ...

  2. Mybatis配置一对多的关联关系(五)

    问题:是查询一个部门中的员工? 一.web项目构架 二.lib文件的jar 三.配置大小配置和该工具类 1大配置mybatis-config.xml <?xml version="1. ...

  3. Mybatis学习——一对多关联表查询

    1.实体类 public class Student { private int id; private String name; } public class Classes { private i ...

  4. Mybatis 中一对多,多对一的配置

    现在有很多电商平台,就拿这个来说吧.顾客跟订单的关系,一个顾客可以有多张订单,但是一个订单只能对应一个顾客. 一对多的顾客 <?xml version="1.0" encod ...

  5. Mybatis【一对多、多对一、多对多】知识要点

    Mybatis[多表连接] 我们在学习Hibernate的时候,如果表涉及到两张的话,那么我们是在映射文件中使用<set>..<many-to-one>等标签将其的映射属性关联 ...

  6. mybatis进行一对多时发现的问题总结

    1.定义一对多xml文件时,所有的resultMap中的column的值一定不要重复,否则mybatis会发生错误,如果有重名,定义别名,column中的名字一定要与查询出的名字一致,如: 52行的别 ...

  7. mybatis之一对多

    今天主要话题围绕这么几个方面? mybatis一对多示例 sql优化策略 一.mybatis之一对多 在说一对多之前,顺便说一下一对一. 一对一,常见的例子,比如以常见的班级例子来说,一个班主任只属于 ...

  8. mybatis 中一对多、多对一、多对多、父子继承关系

    mybatis 中处理一对多.多对一.多对多.父子继承关系的有关键词:association .collection .discriminator id – 一个 ID 结果:标记出作为 ID 的结果 ...

  9. MyBatis:一对多关联查询

    MyBatis从入门到放弃四:一对多关联查询 前言 上篇学习了一对一关联查询,这篇我们学习一对多关联查询.一对多关联查询关键点则依然是配置resultMap,在resultMap中配置collecti ...

  10. mybatis实现一对多连接查询

    问题:两个对象User和Score,它们之间的关系为一对多. 底层数据库为postgresql,ORM框架为mybatis. 关键代码如下: mybatis配置文件如下: mybatis.xml文件内 ...

随机推荐

  1. docker之配置TensorFlow的运行环境

    Docker是一种 操作系统层面的虚拟化技术,类似于传统的虚拟机.传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程:而容器内的应用进程直接运行于宿主的内核,容 ...

  2. Python 中Semaphore 信号量对象、Event事件、Condition

    Semaphore 信号量对象 信号量是一个更高级的锁机制.信号量内部有一个计数器而不像锁对象内部有锁标识,而且只有当占用信号量的线程数超过信号量时线程才阻塞.这允许了多个线程可以同时访问相同的代码区 ...

  3. Windows及Android倍速播放视频软件下载

    目录 1. 更多推荐 2. 关键字 3. 按 4. 软件下载 4.1. IOS应用商店 4.2. 网盘下载 5. 软件介绍 5.1. PotPlayer(Windows) 5.2. MoboPlaye ...

  4. octave-bug - 报告 GNU Octave 中的 bug

    SYNOPSIS 总览 octave-bug [-s subject] DESCRIPTION 描述 octave-bug 是一个 shell 脚本,用于以一种标准的格式撰写有关 Octave 的 b ...

  5. centos 7 安装 nginx 或 apache,及其比较

    来自 知乎 陈湛翀 的回答:https://www.zhihu.com/question/19571087/answer/12313829 nginx 和 apache 比较 nginx 相对 apa ...

  6. JS比较两个时间的时间差

    /** * 比较两个时间的时间差 * @param startTime 开始时间 * @param endTime 结束时间 * @demo compareTime(new Date('2019-12 ...

  7. Python---Tkinter---贪吃蛇(稳定的外部环境,稳定的内心)

    # 项目分析: - 构成: - 蛇 Snake - 食物 Food - 世界 World - 蛇和食物属于整个世界 class World: self.snake self.food - 上面代码不太 ...

  8. margin与padding的区别是什么?

    margin与padding的区别是什么? 目录 1.背景介绍 2.知识剖析 3.常见问题 4.解决方案 5.编码实战 6.扩展思考 7.参考文献 8.更多讨论 1.背景介绍 什么是margin 什么 ...

  9. 【leetcode】522. Longest Uncommon Subsequence II

    题目如下: 解题思路:因为given list长度最多是50,我的解法就比较随意了,直接用一个嵌套的循环,判断数组中每个元素是否是其他的subsequence,最后找出不属于任何元素subsequen ...

  10. 对Lockr的初步认识

    1.Lockr.set - 参数: [ key, value ] {String, Number, Array or Object} 设置一个指定的值,可以是任意类型 2.Lockr.get - 参数 ...