mybatisplus关联表查询_hibernate多表查询
hibernate 查询 关联 多表 MyBatisPlus
2023-06-13 09:13:45 时间
我们在设计表的时候往往一个表的外键作为另一张表的主键,那么我们在查询的时候就要查询两个表的数据。
下面来说下实现的方法。
数据库表的结构
wc_user实体类
public class WcUser implements Serializable {
//用户id
private String userId;
//用户密码
private String userPassword;
//是否被锁定,0锁定,1没锁
private String userActive;
wc_user_roles实体类
public class WcUserRoles implements Serializable {
//用户id
private String userId;
//用户角色
private String userRole;
由于要连表查询所以我们还要创建一个表,只有把另一个类添加进来就好了。
public class WcUserAll {
private String userId;
private String userPassword;
private String userActive;
private WcUserRoles wcUserRoles;
public WcUserAll(String userId, String userPassword, String userActive) {
super();
this.userId = userId;
this.userPassword = userPassword;
this.userActive = userActive;
}
在WcUserMapper.xml写一个WcUserAll类的resultMap,然后使用左外连接(left join)就可以实现连表查询了
<resultMap id="WithRoleResultMap" type="com.smxy.wechat.pojo.WcUserAll">
<id column="user_id" property="userId" jdbcType="VARCHAR" />
<result column="user_password" property="userPassword"
jdbcType="VARCHAR" />
<result column="user_active" property="userActive" jdbcType="VARCHAR" />
<association property="wcUserRoles" javaType="com.smxy.wechat.pojo.WcUserRoles">
<id column="user_id" property="userId" jdbcType="VARCHAR" />
<result column="user_role" property="userRole" jdbcType="VARCHAR" />
</association>
</resultMap>
<select id="selectRoleByPrimaryKey" resultMap="WithRoleResultMap"
parameterType="java.lang.String">
select
<include refid="withRole_Column_List" />
from wc_user a
left join
wc_user_roles b on a.`user_id`=b.`user_id`
where a.user_id=#{userId,jdbcType=VARCHAR}
</select>
在Controller调用selectRoleByPrimaryKey该方法就可以查询了
查询结果如下图
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
相关文章
- hibernate 未明确定义列 小记[通俗易懂]
- Hibernate之Query接口的uniqueResult()方法[通俗易懂]
- Mybatis01入门+使用和配置+面试题mybatis与hibernate的区别+ssm与ssh2开发对比
- hibernate和mybatisplus区别_Mybatis框架
- Hibernate通过SQL查询常量时只返回第一个字符解决方法详解数据库
- Hibernate学习笔记四 查询详解编程语言
- Hibernate_day04讲义_使用Hibernate完成对客户查询的优化详解编程语言
- Hibernate_day03讲义_使用Hibernate完成一对多的关系映射并操作详解编程语言
- hibernate多表查询详解编程语言
- Hibernate中的配置文件常用配置介绍详解编程语言
- Hibernate通过SQL查询常量时只返回第一个字符解决方法详解编程语言
- hibernate查询之后用el表达式取值时遇到的问题详解编程语言
- Hibernate Query接口 setDouble方法:绑定映射类型为double的参数
- Hibernate gt方法:设置大于条件
- Hibernate in方法:判断是否在给定的数组内
- Hibernate begin方法:开启事务
- Hibernate hibernate.default_catalog属性:指定默认的表目录
- Hibernate hibernate.order_updates属性:为SQL更新排序
- hibernate命名查询如何实现
- 深入理解Hibernate中的flush机制