前言:
今天在一个新项目中了解到了新的分页插件:pagehelper。之前只学过mybatis-plus的分页插件,所以好奇在网上查阅了一些关于两者之间的区别和相似处。
区别:
目前在java的项目中,使用的主流的方式就是一个基于mybatis-plus的.page()的分页,当然这种分页方式是适用于一些简单的查询和简单场景(不想写sql)下。
但是!对于多表联查等场景,还是需要通过手写sql来实现复杂查询。那么这个时候又想要有工具帮助我们自动分页,这时候就可以使用pageHelper的 分页插件。
但是两者在使用语法上没有太大的区别.....
使用mybatis-plus的分页插件只需要引入muybatis-plus的依赖即可
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency>
使用pagehelper的分页插件只需要引入pagehelper的依赖
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version> </dependency>
首先这两个工具的版本上其实不会存在什么依赖冲突问题。如果同时引用的时候可能会导致分页的时候失效。
如果在项目中使用了mybatis-plus,但是对于多表联查等场景,还是需要通过手写sql来实现复杂查询则需要用到pagehelper。
即如果需要兼容原生MyBatis的XML,则最好使用pagehelper
最后
来自大佬的建议:PageHelper+MP BaseMapper核心方法(除了分页)。