我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何在springboot中使用mybatis-plus实现一个多表分页查询功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何在springboot中使用mybatis-plus实现一个多表分页查询功能

这篇文章将为大家详细讲解有关如何在springboot中使用mybatis-plus实现一个多表分页查询功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

新建一个springboot工程

需要导入mybatis和mybatis-plus的依赖文件

<dependency>      <groupId>com.baomidou</groupId>      <artifactId>mybatis-plus-boot-starter</artifactId>      <version>3.1.1</version>    </dependency>     <dependency>      <groupId>org.mybatis.spring.boot</groupId>      <artifactId>mybatis-spring-boot-starter</artifactId>      <version>2.0.1</version>    </dependency>

application.yml配置文件

server: port: 8080spring: datasource:  url: jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC  username: root  password: 数据库密码mybatis: mapper-locations: classpath*:mapper  @Bean  public PaginationInterceptor paginationInterceptor(){    return new PaginationInterceptor();  }}

controller类

@RestController@RequestMapping("/user")public class UserController {  @Autowired  UserService userService;    @RequestMapping("/findAll")  public Result<IPage<User>> findAll(@RequestBody Page<User> page){     return userService.pages(page);  }    @RequestMapping("/selectAll")  public Result<IPage<User>> selectAll(@RequestBody Page<User> page){    return userService.pageList(page);  }}

service类

public interface UserService extends IService<User> {  Result<IPage<User>> pages(Page<User> page);  Result<IPage<User>> pageList(Page<User> page);}

service实现类

@Servicepublic class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {  @Autowired  UserMapper userMapper;  @Override  public Result<IPage<User>> pages(Page<User> page) {    IPage<User> userIPage = userMapper.Pages(page);    return Result.getSuccess("分页查询成功",userIPage);  }  @Override  public Result<IPage<User>> pageList(Page<User> page) {    IPage<User> userIPage = userMapper.pageList(page);    return Result.getSuccess("分页查询成功",userIPage);  }}

mapper接口

注意!!: 如果入参是有多个,需要加注解指定参数名才能在xml中取值

@Mapper@Repositorypublic interface UserMapper extends BaseMapper<User> {  IPage<User> Pages(@Param("page") Page<User> page);  IPage<User> pageList(@Param("page") Page<User> page);}

xml文件

一对一关联

 <!-- 一对一 通用查询映射结果 -->  <resultMap id="BaseResultMap1" type="com.tuanzi.user.entity.User">    <result column="id" property="id" />    <result column="name" property="name" />    <result column="age" property="age" />    <result column="email" property="email" />    <!--assocication  一对一关联查询        可以指定联合的JavaBean对象        property="work"指定哪个属性是联合的对象        javaType:指定这个属性对象的类型      -->    <association property="work" javaType="com.tuanzi.user.entity.Work">      <result column="id" property="id" />      <result column="position" property="position" />      <result column="user_id" property="userId" />    </association>  </resultMap>

一对多关联

<!-- 一对多 通用查询映射结果 -->  <resultMap id="BaseResultMap2" type="com.tuanzi.user.entity.User">    <result column="id" property="id" />    <result column="name" property="name" />    <result column="age" property="age" />    <result column="email" property="email" />    <!--collection定义关联结合类型的属性的封装规则property="workList"指定哪个属性是联合的对象ofType:指定集合里面元素的类型-->    <collection property="workList" ofType="com.tuanzi.user.entity.Work">      <result column="id" property="id" />      <result column="position" property="position" />      <result column="user_id" property="userId" />    </collection>  </resultMap>

SQL语句:

<select id="Pages" resultMap="BaseResultMap1">    select a.id id,a.name name,a.age age,a.email email,b.position position,b.user_id user_id from user a LEFT JOIN work b on a.id=b.user_id  </select>  <select id="pageList" resultMap="BaseResultMap2">    select a.id id,a.name name,a.age age,a.email email,b.position position,b.user_id user_id from user a LEFT JOIN work b on a.id=b.user_id  </select>

这样就基本完成了!我这里省略了实体类

我们运行一下,用postman测试一下结果
这里我们需要传2个参数,当然我们也可以不用传,因为mybatis-plus有默认值
来看下mybatis-plus的page源码

如何在springboot中使用mybatis-plus实现一个多表分页查询功能

效果图:

如何在springboot中使用mybatis-plus实现一个多表分页查询功能

如何在springboot中使用mybatis-plus实现一个多表分页查询功能

关于如何在springboot中使用mybatis-plus实现一个多表分页查询功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何在springboot中使用mybatis-plus实现一个多表分页查询功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在springboot中使用mybatis-plus实现一个多表分页查询功能

这篇文章将为大家详细讲解有关如何在springboot中使用mybatis-plus实现一个多表分页查询功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.新建一个springboot工程
2023-06-07

在SpringBoot 中使用Mybatis Plus如何实现一个自动填充功能

本篇文章为大家展示了在SpringBoot 中使用Mybatis Plus如何实现一个自动填充功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一.应用场景平时在建对象表的时候都会有最后修改时间,最
2023-05-31

利用mybatis如何实现一个一对多查询功能

利用mybatis如何实现一个一对多查询功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.需求分析:在开发中会遇到这样一个问题,查询订单信息,级联查询出用户信息和订单明
2023-05-31

如何在Spring MVC中使用MyBatis与MySQL实现一个分页功能

这篇文章将为大家详细讲解有关如何在Spring MVC中使用MyBatis与MySQL实现一个分页功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。方法如下: 首先写一个分页的工具类,定义当
2023-05-31

在SpringBoot中使用MyBatis如何实现一个应用访问功能

今天就跟大家聊聊有关在SpringBoot中使用MyBatis如何实现一个应用访问功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一,Pom文件
2023-05-31

在Spring项目中使用 Hibernate如何实现一个分页功能

本篇文章给大家分享的是有关在Spring项目中使用 Hibernate如何实现一个分页功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。最关键的是运用Hibernate的que
2023-05-31

在mybatis项目中使用oracle如何实现一个分页效果

在mybatis项目中使用oracle如何实现一个分页效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,
2023-05-31

如何在Android应用中利用ListView实现一个分页功能

今天就跟大家聊聊有关如何在Android应用中利用ListView实现一个分页功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android ListView分页简单实现分页,开发
2023-05-31

在android中使用GridView实现一个查看更多功能

这期内容当中小编将会给大家带来有关在android中使用GridView实现一个查看更多功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先来看一下效果图; 代码:
2023-05-31

怎么在springboot中利用thymeleaf模板实现一个paginate分页功能

今天就跟大家聊聊有关怎么在springboot中利用thymeleaf模板实现一个paginate分页功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。pom.xml 加入