Mybatis使用Spring data Pageable的方法


引言

可能這個用法是個邪教了。。。但是簡單說這都是歷史緣故,貌似是項目最初用JPA后面還是換Mybatis了,我接手時候看着那個寫好的Controller層覺得換了怪可惜的,就沿用了。網上找找,提供的方法都比較繁瑣了,其實就幾個依賴兩行代碼的事情,簡單給出一下:

依賴

  1. 數據庫的命名規范需要標准下划線命名。
  2. com.github.pagehelper.PageHelper
  3. com.google.common.base.CaseFormat

Maven

Spring data,Mybatis部分略,只給出這個工具類需要的引用

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.3</version>
        </dependency>
        <!-- guava:駝峰/下划線格式互轉 -->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>28.0-jre</version>
        </dependency>

代碼

import com.github.pagehelper.PageHelper;
import com.google.common.base.CaseFormat;
import org.springframework.data.domain.Pageable;

import java.util.stream.Collectors;

public class PageUtil {
    public static Page startPage(Pageable pageable) {
         return PageHelper.startPage(pageable.getPageNumber(), pageable.getPageSize()
                , pageable.getSort().stream().map(order -> CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, order.getProperty()) + " " + order.getDirection()).collect(Collectors.joining(",")));
    }
}

如果你不能用Java8,那按Java7的方法寫就是了,多幾行而已。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM