文档章节

mybatis_plus一对一实体映射

一个yuanbeth
 一个yuanbeth
发布于 2019/12/06 16:23
字数 334
阅读 113
收藏 0

场景:查询中间表对应的用户和角色,这里一条中间表数据分别只对应一个用户和一个角色。当然一般不会有这样的需求,这里只是举例一对一关系.

一、数据结构

1、用户表

2、角色表

3、中间表

二、xml自定义sql

<resultMap type="com.xiao.permission_system.entity.UerRole" id="BaseColumn">
     <id column="id" property="id" />
     <result column="uid" property="uid" />
     <result column="role_id" property="roleId" />
     <association property="users" javaType="com.xiao.permission_system.entity.UserInfo">
         <id column="id" property="id" />
         <result column="username" property="username" />
         <result column="password" property="password" />
     </association>
     <association property="roles" javaType="com.xiao.permission_system.entity.Role">
         <id column="id" property="id" />
         <result column="name" property="name" />
     </association>
 </resultMap>

 <sql id="base">
  ur.uid,
  ur.role_id
</sql>

 <sql id="userColumn">
   u.id,
   u.username,
   u.password
 </sql>

 <sql id="roleColumn">
     r.id,
     r.name
 </sql>

 <select id="getRoles" resultMap="BaseColumn">
     select
     <include refid="base" />,
     <include refid="userColumn" />,
     <include refid="roleColumn" />
     from sys_uer_role ur
     LEFT JOIN sys_user_info u on u.id=ur.uid
     LEFT join sys_role r on
     r.id=ur.role_id
     where
     uid=#{uid}
 </select>

三、中间表实体

@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("sys_uer_role")
public class UerRole extends BaseEntity{

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId()
    private String id;

    private String uid;

    private String roleId;

    private UserInfo users;

    private Role roles;
}

© 著作权归作者所有

一个yuanbeth
粉丝 104
博文 163
码字总数 87829
作品 0
深圳
程序员
私信 提问
MyBatis学习总结(五)——实现关联表查询

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

Carl_
2015/08/12
62
0
MyBatis学习总结(五)——实现关联表查询

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

Carl_
2015/08/12
249
0
MyBatis学习整理0

学习java的基本都会“ssh”,我也不例外,其中就包括了hibernate,当时感觉挺神奇的,去年开始接触mybatis,一对比发现,这mybatis有不少优点。 下面分享一下我在学习mybatis的时候整理的内容...

阿信sxq
2016/08/19
114
2
idea+mybatis+maven main测试

项目结构 pom文件 数据源database.properties mybatis-config.xml Log4j.properties main测试 实体类一对多关系 Dao接口 Mapper映射文件: 一对一关系 Dao mapper映射文件 测试...

冥焱
2019/06/20
24
0
mybatis02映射&动态sql&关联查询&spring整合mybatis

输入映射和输出映射: 动态sql: 关联查询_一对一: 关联查询_一对多: 一对一,一对多操作的区别: 一对一,resultMap里面关联另一个实体时用 association 一对多,resultMap里面关联另一个实体...

萧小蚁
2016/07/17
31
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 宇宙银河乱弹英雄传 —— @FalconChen

1Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @巴拉迪维 :Axxis的单曲《Only God Knows》 最近只听摇滚,挖了好多以前没听过的歌,蛮好。#今日歌曲推荐# 《Only God Knows》- Axxis 手机...

小小编辑
今天
137
1
Safari Date() 函数对日期时间字符串(yyyy-MM-dd HH:mm:ss) 提示NaN的问题

今天发现一个奇怪的问题,在iPhone使用 safari 选择定时发布文章到OSC,选择时间后提示不是合法的时间,判断时间的代码如下: var d = new Date('2020-01-23 23:15'); if (isNaN(d)) {...

FalconChen
昨天
124
0
ActiveMQ学习之通讯协议

一、支持的通讯协议 ActiveMQ支持的client-broker通讯协议有:TCP、NIO、UDP、SSL、HTTP(S)、VM 其中配置Transport Connector的文件在ActiveMQ安装目录的conf/activemq.xml中的<TransportCon...

冥焱
昨天
91
0
应急广播户户通平台

一、平台概述 应急广播户户通平台为软硬一体化广播服务解决方案。实现了应急广播、视音频及图片文字信息、调频及数字广播FM、天气预报信息接收功能,以及视音频播放、智能机器人、电子日历等...

neocean
昨天
133
0
如何为Apache 2.2启用mod_rewrite

我已经在我的Vista机器上安装了新的Apache 2.2,一切正常,除了mod重写。 我没有注释 LoadModule rewrite_module modules/mod_rewrite.s 但是我的重写规则都没有,即使是简单的重写规则 Re...

javail
昨天
53
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部