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. Docker学习笔记-03 容器数据卷

    1.宿主 vs容器直接映射数据容器卷 docker run -it  --privileged=true  -v  /宿主机绝对路径目录 :/ 容器内目录   镜像名 eg:  docker run  ...

  2. Telnet登陆网络设备执行命令脚本

    # !/usr//bin/python3 # -*- coding:UTF-8 -*- from telnetlib import Telnet import time, os, datetime, ...

  3. 2023年3月1日其它etf大涨,医疗未涨,3月2日会补涨,涨0.5%卖出。

  4. Linux profile、bashrc、bash_profile

    一.profile 文件 1.profile 文件的作用 profile(/etc/profile),用于设置系统级的环境变量和启动程序,在这个文件下配置会对所有用户生效.当用户登录(login)时, ...

  5. go环境搭建及tjfoc-gm安装

    go环境搭建及tjfoc-gm安装 一.环境配置 1 首先进入usr/local文件夹,下载go语言环境配置压缩包 wget https://dl.google.com/go/go1.19.3.lin ...

  6. SPI接口(续一)

    SPI接口共涉及到11个寄存器,下面就来对它们进行具体分析. 先来看SPI配置寄存器CFG,下表是它的全部位结构,其地址分别为0x40058000(SPI0),0x4005C000(SPI1). (1 ...

  7. prometheus 对接飞书告警

    prometheus对接飞书告警 环境 名称 ip地址 cpu 内存 yz-feishu 10.65.6.91 4c 8G 飞书创建群组机器人,参考飞书官网 https://www.feishu.cn ...

  8. 2022-3-10内部群每日三题-清辉PMP

    1.一位项目经理得知,由于持续的罢工,该项目的进口设备尚未被海关放行.项目经理首先应该怎么做? A.执行定性风险分析 B.执行定量风险分析 C.与团队一起审查风险影响 D.实施风险应对计划 2.一位团 ...

  9. axios请求拦截封装理解

    <p>全局处理请求.响应拦截的处理,常见处理请求动画,错误码</p> <p>import axios from 'axios'</p> <p> ...

  10. 049_Search Lookup (二)

    其实就是 在父object中 设置,search setting 中选中 enhanced lookup, and select the dialoge & Filter  默认looukp搜 ...