我这里是拿商品做为例子

不多说直接上代码

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. vue $forceUpdate() 强制重新渲染

    vue $forceUpdate() 强制重新渲染:https://blog.csdn.net/z9061/article/details/94862047

  2. MyBatis一个对多个主键(索引)生成实体类的处理

    原数据库表: 生成实体类,多出了一个xxKey.java

  3. python中输入三个整数x,y,z,请把这三个数由小到大输出。

    输入三个整数x,y,z,请把这三个数由小到大排序,再把数组由大到小排序,再输出最大值和最小值! #定义一个空数组 numbers = [] #循环遍历,下面的4是控制循环次数 for i in ran ...

  4. hdu6468 zyb的面试 (思维)

    题目传送门 题意: 将1~n个数按字典序排序后,求第k个数 思路: 代码: #include<stdio.h> #include<iostream> #include<a ...

  5. 我的第一个Delphi DLL

    library dd; { 使用字符串参数或嵌套字符串参数需要在uses子句中包括sharemm单元,并将BorlandMM.dll与您的应用程序一起发布. 否则需要对参数值使用PChar或Short ...

  6. media查询(来源于bootstrap)

    /* 大屏幕 */@media (min-width: 1200px) { ... } /* 平板电脑和小屏电脑之间的分辨率 */@media (min-width: 768px) and (max- ...

  7. SpringMVC源码解析

    一:springmvc运行过程: 1. dispatcherServlet 通过 HandlerMapping 找到controller2. controller经过后台逻辑处理得到结果集modela ...

  8. git分支/标签操作

    git分支类似于某一个模块,等到所有模块开发完毕时,最后聚合在一起形成一个项目.而分支之间一般是不会受影响的. git 分支的基本操作: git branch branchname 表示创建分支,新建 ...

  9. Qt项目管理文件(.pro)及其作用详解

    http://c.biancheng.net/view/1819.html 在 Qt Creator 中新建一个 Widget Application 项目 samp2_1,在选择窗口基类的页面选择 ...

  10. DMA方式的数据传送过程

      DMA方式具有如下特点: 1. 外部设备的输入输出请求直接发给主储存器. 主存储器既可以被CPU访问,也可以被外围设备访问.因此,在主存储器中通常要有一个存储管理部件来为各种访问主存储器的申请排队 ...