微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

springboot + mybatis-plus实现多表联合查询功能(注解方式)

这篇文章主要介绍了springboot + mybatis-plus实现多表联合查询功能,是最简单的一种注解方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

第一步:加入mybatis-plus依赖

第二步:配置数据源

spring: thymeleaf: cache: false encoding: utf-8 prefix: classpath:/templates/ suffix: .html enabled: true datasource: url: jdbc:MysqL://192.168.1.152:3306/timo?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&failoverReadOnly=false&serverTimezone=GMT%2B8 driver-class-name: com.MysqL.cj.jdbc.Driver username: root password: root type: com.alibaba.druid.pool.DruidDataSource mybatis-plus: configuration: map-underscore-to-camel-case: true log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

第三步:创建两张有关联关系的表(我的如下  )

            sys_user:用户

          sys_role:权限表

 第四步:将两张表映射到实体类bean(其实sys_role建不建都无所谓,可以不建sys_role的实体类

@Data @TableName("sys_user") //当实体类名(前提是开启驼峰)与数据库表名一致时可不写 public class SysUser extends Model { @TableId(type = IdType.AUTO) private Long id; private String username; private String password; private String salt; private Integer deptId; private String picture; private String sex; private String email; private String phone; @Version private Integer version; @TableField(fill = FieldFill.INSERT) private Date createDate; @TableField(fill = FieldFill.INSERT_UPDATE) private Date updateDate; private Integer status;

********************不想建这个实体类就不建  没有意义 

public class SysRole { private long id; private String roleName; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getRoleName() { return roleName; } public void setRoleName(String roleName) { this.roleName = roleName; } }

第五步:定义mapper(注意看这个@Select里面的sql

第六步:定义一个通用实体类Record

import com.alibaba.druid.proxy.jdbc.ClobProxyImpl; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import javax.servlet.http.HttpServletRequest; import java.io.BufferedReader; import java.io.Reader; import java.util.*; /** * @author Wxiaokun * @version 1.0 * @date 2020/9/25 0025 下午 4:15 */ public class Record extends HashMap implements Map { private static final long serialVersionUID = 1L; Map map = null; HttpServletRequest request; public Record(HttpServletRequest request){ this.request = request; Map properties = request.getParameterMap(); Map returnMap = new HashMap(); Iterator entries = properties.entrySet().iterator(); Map.Entry entry; String name = ""; String value = ""; while (entries.hasNext()) { entry = (Map.Entry) entries.next(); name = (String) entry.getKey(); Object valueObj = entry.getValue(); if(null == valueObj){ value = ""; }else if(valueObj instanceof String[]){ String[] values = (String[])valueObj; for(int i=0;i

 第七步:接下来就是测试了

测试结果如下:

 

至此  到这里 我觉得这个东西就有点像Jfinal底层封装的Record类了,在多表联合查询的情况下,我们可以方便的使用mybatis-plus来进行了。

到此这篇关于springboot + mybatis-plus实现多表联合查询功能(注解方式)的文章就介绍到这了,更多相关Mybatis-plus 多表联合查询内容搜索编程之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程之家!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐