blogSite

我是谁?我在哪儿?我在干什么?

View project on GitHub

MyBatis PageHelper分页

pom.xml中引入相关jar包一览

	<dependencies>
		<!-- spring boot 设置开始 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!-- spring boot 设置结束 -->
		
		<!-- 数据库操作相关 -->
		<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.2</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/tk.mybatis/mapper-spring-boot-starter -->
		<dependency>
		    <groupId>tk.mybatis</groupId>
		    <artifactId>mapper-spring-boot-starter</artifactId>
		    <version>2.1.0</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
		<dependency>
		    <groupId>com.github.pagehelper</groupId>
		    <artifactId>pagehelper-spring-boot-starter</artifactId>
		    <version>1.2.10</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<!-- 数据库操作相关 -->
	</dependencies>

修改application.properties配置

    ……
    #MyBatis初始化加载
    mybatis.type-aliases-package=top.z_f.simpleerp.entity
    mybatis.mapper-locations=classpath:mappers/*.xml

    #mapper
    #mappers 多个接口时逗号隔开
    mapper.mappers=tk.mybatis.springboot.util.MyMapper
    mapper.not-empty=false
    mapper.identity=MYSQL

    #pagehelper
    pagehelper.helperDialect=mysql
    pagehelper.reasonable=true
    pagehelper.supportMethodsArguments=true
    pagehelper.params=count=countSql
    ……

java代码示例

  • controller
      package top.z_f.simpleerp.controller;
    
      import java.util.ArrayList;
      import java.util.List;
    
      import org.slf4j.Logger;
      import org.slf4j.LoggerFactory;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.RestController;
    
      import com.github.pagehelper.PageInfo;
    
      import top.z_f.simpleerp.entity.SysUser;
      import top.z_f.simpleerp.service.TestValue;
    
      @RestController
      @RequestMapping("hello2")
      public class HelloController {
            
          private final static Logger logger = LoggerFactory.getLogger(HelloController.class);
    
          @Autowired
          TestValue testValueImpl;
            
          @RequestMapping("pageHelperTest")
          public PageInfo<SysUser> pageHelperTest() { 
              // spring boot 会自动将返回值转称json串
              PageInfo<SysUser> phResult = testValueImpl.pageHelperTest(1, 10);
              return phResult;
          }
    
      }
    
  • service接口
      package top.z_f.simpleerp.service;
    
      import java.util.List;
    
      import com.github.pagehelper.PageInfo;
    
      import top.z_f.simpleerp.entity.SysUser;
    
      /**
      * @author zhangzhen
      *
      */
      public interface TestValue {
          /**
          * @param pageNum:当前页码
          * @param pageSize:每页显示条数
          * 
          * @return 分页后信息
          */
          PageInfo<SysUser> pageHelperTest(int pageNum, int pageSize);
      }
    
  • service实现
      package top.z_f.simpleerp.service.impl;
    
      import java.util.ArrayList;
      import java.util.List;
    
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.stereotype.Service;
      import org.springframework.transaction.annotation.Transactional;
    
      import com.github.pagehelper.PageHelper;
      import com.github.pagehelper.PageInfo;
    
      import top.z_f.simpleerp.dao.SysUserMapper;
      import top.z_f.simpleerp.entity.SysUser;
      import top.z_f.simpleerp.service.TestValue;
      import top.z_f.simpleerp.utils.ZfStringUtils;
    
      /**
      * @author zhangzhen
      *
      */
      @Service
      public class TestValueImpl implements TestValue {
            
          @Autowired
          SysUserMapper sysUserMapper;
    
          /**
          * @param pageNum:当前页码
          * @param pageSize:每页显示条数
          * 
          * @return 分页后信息
          */
          @Override
          public PageInfo<SysUser> pageHelperTest(int pageNum, int pageSize) {
              PageHelper.startPage(pageNum, pageSize);
              List<SysUser> userList = sysUserMapper.getAllRecoreds();
              PageInfo<SysUser> pageInfo = new PageInfo<>(userList);
              return pageInfo;
          }
    
      }
    
  • dao
      package top.z_f.simpleerp.dao;
    
      import java.util.List;
    
      import top.z_f.simpleerp.entity.SysUser;
    
      public interface SysUserMapper {
          List<SysUser> getAllRecoreds();
      }
    
  • mapper
      ……
    <select id="getAllRecoreds" resultMap="BaseResultMap">
      <!-- 测试pagehelper分页-->
      select * 
      from sys_user
      order by created_on desc
    </select>
    ……
    

参考文档

上一篇:Apache Commons工具类 下一篇:spring boot引入freemarker模板

首页 > 学习总览 > 开发语言 > Java