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源码

springboot整合mybatis-plus实现多表分页查询的示例代码_第1张图片

效果图:

springboot整合mybatis-plus实现多表分页查询的示例代码_第2张图片

springboot整合mybatis-plus实现多表分页查询的示例代码_第3张图片

最后附赠源码地址:demo

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

你可能感兴趣的:(springboot整合mybatis-plus实现多表分页查询的示例代码)