敲代码也有不少日子了,今天碰到个需求,就是定时器生成一张表,但是这个表的某些数据是从另外两张表中拿到的,定外两张表又是一对多的关系,想着咋在一个接口就能敲出来,大概结构如下

然后需要a表的数据(比如张三)对应的是一个集合(吃饭和睡觉数据),这个时候,有人会说把b表的字段加a表里映射,但是如果b表字段比较多,也这样岂不是很麻烦,果断百度,发现mybatis还有一对多,多对一的映射配置,然后我就试了一下

实体类代码如下

a表实体类:

public class atable{private Integer id;private String name;private String password;private List<btable> bTableList;set,get此处省略不写了
}

b表实体类:

public class btable{private Integer id;private String aid;private String hobby;set,get此处省略不写了
}

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.infohold.city.map.dao.mybatis.CompanycheckplanmonthDao" ><resultMap id="BaseResultMap" type="com.infohold.city.map.model.CompanyCheckPlanMonth" ><id column="id" property="id" jdbcType="INTEGER" /><result column="name" property="name" jdbcType="VARCHAR" /><result column="password" property="password" jdbcType="VARCHAR" /><!-- 一对多的关系 -->  <!-- property: 指的是集合属性的值, ofType:指的是集合中元素的类型 -->  <collection property="btable" ofType="com.entity.btable">  <id column="cid" property="id" jdbcType="INTEGER" /><result column="aid" property="aid" jdbcType="VARCHAR" /><result column="hobby" property="hobby" jdbcType="VARCHAR" /></collection>  </resultMap><select id="getatableList" resultMap="BaseResultMap">select a.id,a.name,b.id as cid,b.aid,b.hobby from atable a, btable b  where a.id=b.aid</select>

注意:

然后就可以解决啦,不用在a的实体类里加b的属性了,小菜鸟还是应该勤奋点,要多学点知识~~

转载于:https://www.cnblogs.com/supiaopiao/p/8683129.html

mybatis关联配置(一对多配置)相关推荐

  1. Mybatis一对一和一对多配置

    作者:夕下奕林 问题描述 现在有三张数据表,表名为orders,orderdetail,items,分别表示订单,订单详情,商品. 其中一个订单包含多个订单详情,表示订单中的不同个具体的商品,订单详情 ...

  2. MyBatis框架学习 DAY_03:如何解决无法封装问题 / 一对一关联查询 / 一对多关联查询

    1. 通过查询时自定义别名的方式解决名称不一致而导致的无法封装数据的问题 假设,向用户组数据表(t_group)表中插入一些测试数据: INSERT INTO t_group (name) VALUE ...

  3. Mybatis 关联查询(一对一与一对多)

    数据库表与表之间的关系: 1.一对一查询 需求:查询所有订单信息,关联查询下单用户信息. 注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用户信息为一对一查询.如果从用户信息 ...

  4. jeecg boot一对多新增的附表不会主键是一个string_测试开发专题:spring-boot如何使用JPA进行双向一对多配置...

    本片文章我们主要介绍spring-boot如何进行JPA的配置以及如何进行实体间的一对多配置. 依赖准备 要在spring-boot使用jpa需要在项目中有进入相关的依赖,pom文件里加入下面内容 & ...

  5. 【转】mybatis 自增主键配置

    mybatis自增主键配置(?) mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同.基本上经常会遇到的就是Oracle Sequece 和 MySQL 自增主键,至 ...

  6. Mybatis在Spring-boot中自动配置的底层源码分析

    前言:在Spring-boot结合Mybatis,我们只需要配置一些数据库连接的基本信息,写好Mapper和Dto就可以跑起来了.但是它是如何帮我们完成自动配置,并且执行我们的sql语句的呢?我们一起 ...

  7. 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...

  8. mybatis使用注解替代xml配置,动态生成Sql

    mybatis使用注解替代xml配置时,遇到判断条件是否为null或者为空时,@Select很难搞定,不知道怎么办? mybatis3中增加了使用注解来配置Mapper的新特性,使用 SelectPr ...

  9. mybatis入门配置——基于xml配置

    1.下载mybatis配置文件,以及数据库驱动文件,最好配置日志文件log4j可以方便测试查看日志: mybatis配置文件以及log4j日志配置下载链接: http://download.csdn. ...

  10. Mybatis注解实现一对多关联映射(@Many)

    mybatis注解实现一对多关联映射 @Select("<script> \n" +"\t\tselect a.*,p.punishment_money, p ...

最新文章

  1. 【蓝桥java】进制与整除之最大公约数 最小公倍数
  2. 考研计算机组成原电路知识,2021考研计算机大纲408计算机组成原理部分原文解析...
  3. VMware vSphere Client安装Centos7
  4. 介绍Android 与 GPhone的书籍
  5. [翻译]VC++中创建并使用自定义控件
  6. pat和ccf哪个含金量高_函授和网络教育哪个好 哪个含金量高
  7. HSRPSTPACL
  8. html5--3.16 button元素
  9. 梦幻星空PSD分层海报素材,通过临摹打开思路。
  10. mysql 设置域名_mysql 设置域名
  11. python 智能造句_[零基础学Python]正规地说一句话
  12. powershell自动化操作AD域、Exchange邮箱系列(4)—批量导入邮箱/域账号(文件)
  13. Hash和Bloom Filter
  14. python:查看函数方法的具体信息、参数等
  15. 苹果5完美越狱_Checkra1n 越狱常见问题汇总
  16. get/post在线接口
  17. java 文档查看技巧
  18. 如何使用WeKan管理您的工作
  19. vue侧边栏菜单一二级模板
  20. 麦吉尔商业与计算机科学,麦吉尔大学与UBC大学那个好考

热门文章

  1. typora及vue主题安装
  2. 什么是java双亲委派机制
  3. Scala元组:存放各种相同或不同类型的数据
  4. Python爬虫开发:requests库的使用--session的使用
  5. python3 import导入模块
  6. 【软考-软件设计师】数据表示
  7. Spring Boot 2.x多线程--使用@Async开启多线程使用示例
  8. Coding:两个从大到小的有序链表合并成一个从小到大有序链表
  9. 【通俗易懂】层次聚类算法的原理及实现
  10. MATLAB中FFT的使用方法