Spring Boot集成Mybatis分頁插件PageHelper

PageHelper是一款非常好用的分頁插件,它和Mybatis工作在一起,可以大幅提升開發(fā)效率。PageHelper是通過Mybatis的攔截器插件原理實現(xiàn)的。

1. pom.xml配置

在我們的Spring Boot工程中增加PageHelper的配置,請記住PageHelper是和Mybatis工作在一起的,因此務(wù)必要引入Mybatis的jar包。

    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
        <version>4.1.6</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.1.1</version>
    </dependency>

2. 向Spring容器中注入PageHelper

@Configuration
public class PageHelperConfiguration {
    private static final Logger log = LoggerFactory.getLogger(PageHelperConfiguration.class);
    @Bean
    public PageHelper pageHelper() {
        log.info("------Register MyBatis PageHelper");
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("offsetAsPageNum", "true");
        p.setProperty("rowBoundsWithCount", "true");
        p.setProperty("reasonable", "true");
        //通過設(shè)置pageSize=0或者RowBounds.limit = 0就會查詢出全部的結(jié)果。
        p.setProperty("pageSizeZero", "true");
        pageHelper.setProperties(p);
        return pageHelper;
    }
}

3. 在代碼中使用PageHelper

@RestController
@RequestMapping("/user")
public class UserController {
    
    @Autowired
    UserMapper userMapper;
    
    @RequestMapping(value = "/queryall.do", method = RequestMethod.GET)
    public PageInfo<User> queryAll( @RequestParam(value = "pageNum", required = false, defaultValue="1") Integer pageNum,
            @RequestParam(value = "pageSize", required = false, defaultValue="10") Integer pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        List<User> list = userMapper.selectAllUsers();
        PageInfo<User> pageInfo = new PageInfo<User>(list);
        return  pageInfo;
    }

}

其余代碼請參考:http://www.itdecent.cn/p/9e8a7c07c60b

Mybatis分頁插件PageHelper官網(wǎng):https://github.com/pagehelper/Mybatis-PageHelper
Mybatis之插件原理:[http://blog.csdn.net/hupanfeng/article/details/9247379]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容