当前位置:  开发笔记 > 后端 > 正文

springboot整合mybatis-plus实现多表分页查询的示例代码

这篇文章主要介绍了springboot整合mybatis-plus实现多表分页查询的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.新建一个springboot工程

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


      com.baomidou
      mybatis-plus-boot-starter
      3.1.1
    
     
      org.mybatis.spring.boot
      mybatis-spring-boot-starter
      2.0.1
    

3.application.yml配置文件

server:
 port: 8080
spring:
 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/*.xml

mybatis-plus:
 mapper-locations: classpath:/mapper/*Mapper.xml
logging:
 level:
  com.tuanzi.*: debug

4.首先我们需要写一个类来配置分页插件

省略import
@EnableTransactionManagement
@Configuration
@MapperScan("com.tuanzi.*.mapper*")
public class MybatisPlusConfig {

  /**
   * 分页插件
   */
  @Bean
  public PaginationInterceptor paginationInterceptor(){
    return new PaginationInterceptor();
  }
}

5.controller类

@RestController
@RequestMapping("/user")
public class UserController {

  @Autowired
  UserService userService;

  /**
   * 多表关联,分页查询(1对1)
   * @param page
   * @return
   */
  @RequestMapping("/findAll")
  public Result> findAll(@RequestBody Page page){

     return userService.pages(page);

  }

  /**
   * 多表关联,分页查询(1对多)
   * @param page
   * @return
   */
  @RequestMapping("/selectAll")
  public Result> selectAll(@RequestBody Page page){

    return userService.pageList(page);

  }
}

6.service类

public interface UserService extends IService {

  Result> pages(Page page);

  Result> pageList(Page page);
}

7.service实现类

@Service
public class UserServiceImpl extends ServiceImpl implements UserService {

  @Autowired
  UserMapper userMapper;
  @Override
  public Result> pages(Page page) {
    IPage userIPage = userMapper.Pages(page);
    return Result.getSuccess("分页查询成功",userIPage);
  }

  @Override
  public Result> pageList(Page page) {
    IPage userIPage = userMapper.pageList(page);
    return Result.getSuccess("分页查询成功",userIPage);
  }
}

8.mapper接口

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

@Mapper
@Repository
public interface UserMapper extends BaseMapper {

  IPage Pages(@Param("page") Page page);

  IPage pageList(@Param("page") Page page);
}

9.xml文件

一对一关联

 
  
    
    
    
    
    
    
      
      
      
    
  

一对多关联


  
    
    
    
    
    
    
      
      
      
    
  

SQL语句:


  

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

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

在这里插入图片描述

效果图:

在这里插入图片描述

在这里插入图片描述

最后附赠源码地址:demo

到此这篇关于springboot整合mybatis-plus实现多表分页查询的示例代码的文章就介绍到这了,更多相关springboot整合mybatis-plus多表分页查询内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有