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 ServiceImplimplements 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多表分页查询内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!