SpringBootでのPageHelperページングプラグインの簡単な使用

5323 ワード

今日はこの私が使いやすいページ分けプラグインを書きます.プラグインはGitHubから入手できます.
PageHelper maven依存
PageHelper SpringBoot依存
Spring Bootプロジェクトを使用しています.最初のステップは、依存を導入することです.
  
  
	com.oracle
	ojdbc7
	${ojdbc7.version}
  
  
  
	com.github.pagehelper
	pagehelper-spring-boot-starter
	1.2.5
  
  
  
	org.mybatis.spring.boot
	mybatis-spring-boot-starter
	${mybatis-spring-boot-starter.version}
  

プロファイルの作成:
#      
server.port=8080

#spring configuration start
#datasource start
#        :HikariCP
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver
#     URL,      
spring.datasource.url=jdbc:oracle:thin:@10.1.13.64:1521:orcl
spring.datasource.username=c##ECHO
spring.datasource.password=orcl
#     
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=select * from dual
#datasource end
#spring configuration end

#mybatis start
#            
mybatis.type-aliases-package=com.ovo.entity,com.ovo.condition
#  mapper       
mybatis.mapper-locations=classpath:mappers/*Mapper.xml
#mybatis end

#pagehelper start
pagehelper.helperDialect=oracle
pagehelper.reasonable=true
pagehelper.params=
pagehelper.supportMethodsArguments=true
pagehelper.page-size-zero=true
#pagehelper end

クエリーの作成に必要な条件クラス:
/**
 * @author EchoMao
 * @date 2019 1 17   2:07:01
 * 
 */
@Component
@Scope(scopeName = "prototype")
public class UserCondition {

    private Integer qUserId;     //    id
    private String qUserName;    //     
    private Integer qAge;        //    

    //getter/setter、toString()    

DAOレイヤインタフェースの作成:
 /**  
  *         
  *
  * @param condition        
  * @return
  */
 List findAll(UserCondition condition);

mapperマッピングファイルを作成するには:



    
        
        
        
    
    
    
    
    
    
        USERID,USERNAME,AGE
    
    

サービス層インタフェースの作成:
/**
 *      
 * 
 * @param condition        
 * @param page             
 * @param size              
 * @return
 */
PageInfo findAll(UserCondition condition, Integer page, Integer size);

サービス層インタフェースの実装:
/**
 * @author EchoMao
 * @date 2019 1 17   2:00:26
 * 
 */
@Service
public class UserServiceImpl implements IUserService {

    @Autowired
    IUserDao userDao;

    /**
     *       
     * 
     */
    @Override
    public PageInfo findAll(UserCondition condition, Integer page,
            Integer size) {
        //    PageHelper     
        PageHelper.startPage(page, size);
        //                   
        List userInfos = userDao.findAll(condition);
        PageInfo pageInfo = new PageInfo<>(userInfos);
        return pageInfo;
    }
    
}

最後にControllerレイヤ:
/**
 * @author EchoMao
 * @date 2019 1 17   5:09:00
 * 
 */
@RestController
@RequestMapping(value = "/userInfo")
public class UserController {

    @Autowired
    IUserService userService;

    /**
     * >        
     * 
     * @param condition         
     * @param page           
     * @param size            
     * @return RetResult>          
     */
    @RequestMapping(value = "/userList")
    public RetResult> toUserList(UserCondition condition,
            @RequestParam(defaultValue = "0") Integer page, @RequestParam(defaultValue = "0") Integer size) { //  page size      0,     
        //   pagehelper    
        PageInfo pageInfo = userService.findAll(condition, page, size);
        return RetResponse.makeOKRsp(pageInfo);
    }
}

そうですね.
初めてブログを書きますが、何か間違いがあったら遠慮なく指摘してください.ありがとうございます.
Ciao~