mybatis 的连表查询one2one

1.可以通过主从表之间的关联查询通过主键两次

在resultMap映射中的association标签<association property="info" column="user_id"
   javaType="UserInfo"

再通过select属性得到从表对应映射的mapper的getUserInfoByUserId方法
   select="com.gezhi.mapper.UserInfoMapper.getUserInfoByUserId">
  </association>

从表的mapper

<sql id="userInfoSql">
  info_id,info_nickname,info_phone,info_email,info_gender,info_address
 </sql>
 
 <select id="getUserInfoByUserId" resultMap="userInfoMap"
  parameterType="int">
  select
  <include refid="userInfoSql"></include>
  from user_info where user_id=#{id}
 </select>

2.通过left join 连表查询一次

去掉select属性,添加从表的result Map

<association property="info" column="user_id"
   javaType="UserInfo"
   resultMap="com.gezhi.mapper.UserInfoMapper.userInfoMap">
  </association>

从表中的mapper

<!-- 联合查询users表中的信息,双向关联 -->
 <resultMap type="UserInfo" id="userInfoMap">
  <id property="infoId" column="info_id" javaType="integer" />
  <result property="nickName" column="info_nickname"
   javaType="java.lang.String" />
  <result property="phone" column="info_phone"
   javaType="java.lang.String" />
  <result property="Email" column="info_email" javaType="string" />
  <result property="gender" column="info_gender"
   javaType="string" />
  <result property="address" column="info_address"
   javaType="java.lang.String" />
  <association property="user" column="user_id"
   javaType="User" resultMap="com.gezhi.mapper.UserMapper.userResultMap">
  </association>
 </resultMap>

mybatis框架的连表查询one2one的更多相关文章

  1. SSH框架的多表查询和增删查改 (方法一)上

    原创作品,允许转载,转载时请务必标明作者信息和声明本文章==>  http://www.cnblogs.com/zhu520/p/7772823.html   因为最近在做Android 练习的 ...

  2. SSH框架的多表查询和增删查改 (方法一)中

    原创作品,允许转载,转载时请务必标明作者信息和声明本文章==>http://www.cnblogs.com/zhu520/p/7774144.html   这边文章是接的刚刚前一遍的基础上敲的  ...

  3. MyBatis中实现多表查询

    如果查询的数据量大,推荐使用N+1次查询.数据量少使用联合查询... 一. 1.Mybatis是实现多表查询方式 1.1  业务装配:对两个表编写单表查询语句,在业务(Service)把查询的两表结果 ...

  4. 使用mybatis框架实现带条件查询-多条件(传入实体类)

    在实际的项目开发中,使用mybatis框架查询的时候,不可能是只有一个条件的,大部分情况下是有多个条件的,那么多个条件应该怎样传入参数: 思考:  需求:根据用户姓名(模糊查询),和用户角色对用户表进 ...

  5. 使用mybatis框架实现带条件查询-单条件

    之前我们写的查询sql都是没有带条件的,现在来实现一个新的需求,根据输入的字符串,模糊查询用户表中的信息 UserMapper.xml UserMapper.java 与jdbc的比较: 编写测试方法 ...

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

    1.SQL语句建表 CREATE TABLE teacher( t_id ) ); CREATE TABLE class( c_id ), teacher_id INT ); ALTER TABLE ...

  7. MyBatis总结-实现关联表查询

    一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关 ...

  8. MyBatis学习之多表查询

    一对多需求:即一张表class中又含有多张表(teacher,student)内容.现根据class_id 来获取对应的班级信息(包括学生和老师信息) 方式一:嵌套结果 使用嵌套结果映射来处理重复的联 ...

  9. SSH框架的多表查询(方法二)增删查改

     必须声明本文章==>http://www.cnblogs.com/zhu520/p/7773133.html  一:在前一个方法(http://www.cnblogs.com/zhu520/p ...

  10. 在Mybatis中使用连表查询的一次实际应用

    以前在工作中很少使用多表关联查询,对连表查询的具体作用和使用场景也没有很直观的认识,通过这次在项目中的实际应用,对此有了一定的认识,特记录如下. 关联表介绍: 分别是属性表attr_info.属性值表 ...

随机推荐

  1. IIS部署HTTPS站点

    常用的IIS大体有二个版本: IIS8和IIS7,分别有不同的配置方法如下: IIS8.5以上版本 1).新建一个站点,切记尽量不要与旧http协议站点共用一个站点,容易冲突 2).先将https证书 ...

  2. 特别好用的题库(oj)

    tk.hustoj.com 每次做题时,我都会对"外部导入"这四个字感到迷惑: 这些题,究竟是从哪里"导入"的? 我们不为而知...... 直到后来...... ...

  3. c++基础: uint8_t uint16_t uint32_t uint64_t size_t ssize_t数据类型

    https://blog.csdn.net/lzx_bupt/article/details/7066577 在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等.咋一看,好像是个 ...

  4. 配置PostMan以访问、连接D365 / Dataverse环境

    有人提出个问题说国内21V环境能否使用postman连接CRM? 官方链接:https://learn.microsoft.com/en-us/power-apps/developer/data-pl ...

  5. C++ primer笔记 -基本语言

    C++最重要的特征是类,程序员可以使用类自定义数据类型,C++有时候将这些类型称为"类类型",以区别于内置类型. 类型作用: 1.告诉我们数据代表的是什么意思 2.对数据可以执行哪 ...

  6. 把VScode插件提示abc的提示给移到最后

    把VScode插件提示abc的提示给移到最后 解决方法 打开设置,在搜索中输入editor.snippetSuggestions,然后将选项改为top,就可以解决了 top:就是将你插件提示放到最上面 ...

  7. 关闭Windows form窗体

    原文https://www.cnblogs.com/HappyEDay/p/5713707.html  在c#中退出WinForm程序包括有很多方法 this.Close(); Application ...

  8. Elasticsearch集群部署和运维命令

    Elasticsearch集群部署 下载tar包 在"https://www.elastic.co/cn/downloads/elasticsearch"页面,有 past rel ...

  9. Java数组之三种初始化及内存分析

    内存分析 Java内存 堆: 1.存放new的对象和数组 2.可以被所有的线程共享,不会存放别的对象引用 栈: 1.存放基本变量类型(会包含这个基本类型的具体数值) 2.引用对象的变量(会存放这个引用 ...

  10. 实验:STM32-ARDUINO-ESP01采用AT指令,通过MQTT连接上ONENET

    1.硬件准备 要求:STM32支持Arduino. 2.程序逻辑结构 3.主流程状态机 4.测试数据抓图 5. 关键程序代码 unsigned char g_ArrTemp[1024]; int AT ...