springboot整合mybatis并使用分页插件pageHelper

springboot整合mybatis并使用分页插件pageHelper

  • 一、添加pom.xml依赖
  • 二、配置yml文件
  • 三、创建User.java实体类
  • 四、创建UserMapper.java
    • 4.1、Mapper包扫描:
  • 五、创建UserMapper.xml映射文件
  • 六、创建UserService.java
  • 七、创建UserController.java
  • 八、使用postman调用接口进行测试

一、添加pom.xml依赖

		<dependency>
			<groupId>org.springframework.bootgroupId>
			<artifactId>spring-boot-starter-jdbcartifactId>
		dependency>
		<dependency>
			<groupId>mysqlgroupId>
			<artifactId>mysql-connector-javaartifactId>
			<scope>runtimescope>
		dependency>
		<dependency>
			<groupId>org.mybatis.spring.bootgroupId>
			<artifactId>mybatis-spring-boot-starterartifactId>
			<version>2.2.0version>
		dependency>
		
		<dependency>
			<groupId>com.github.pagehelpergroupId>
			<artifactId>pagehelper-spring-boot-starterartifactId>
			<version>1.2.10version>
		dependency>

二、配置yml文件


spring:
  datasource:
    url: jdbc:mysql://localhost:3306/ssmuser?characterEncoding=utf-8&serverTimezone=Asia/Shanghai
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

mybatis:
  #标注待解析的mapper的xml文件位置;
  #在resources目录下创建mapper文件夹,放UserMapper.xml文件
  mapper-locations: classpath:mapper/*.xml
  #标注实体类位置
  type-aliases-package: com.example.helloword.entity
  #控制台打印SQL查询语句
logging:
  level:
    com.example.helloword.dao: DEBUG

pagehelper:
  helper-dialect: mysql #数据库方言
  reasonable: true      #分页合理化
  support-methods-arguments: true #是否支持接口参数来传递分页参数,默认false
  page-size-zero: true #当设置为true的时候,如果pagesize设置为0(或RowBounds的limit=0),就不执行分页,返回全部结果
  params: count=countSql

三、创建User.java实体类


public class User {
    private int id;
    private String username;
    private String password;
    private String sex;
    private Date birthday;
	/**省略了getset方法
	*/
}

四、创建UserMapper.java

@Mapper
@Repository
public interface UserMapper {

    List<User> selectUserByPage(int pageNum,int pageSize);
    
}

4.1、Mapper包扫描:

注意:需要在添加@MapperScan(“com.example.helloword.dao”)
如图所示:

springboot整合mybatis并使用分页插件pageHelper_第1张图片

五、创建UserMapper.xml映射文件


DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.helloword.dao.UserMapper"> 
  
    <select id="selectUserByPage" resultType="User" parameterType="int">
        select * from users limit #{param1},#{param2}
    select>
    
mapper>

六、创建UserService.java

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public PageInfo<User> queryUserAll(int pageNum,int pageSize){
        PageHelper.startPage(pageNum,pageSize);
        List<User> users = userMapper.selectAllUser();
        PageInfo<User> userPageInfo = new PageInfo<>(users);
        return userPageInfo;
    }
}

七、创建UserController.java

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;

    @RequestMapping("/userslist")
    public List<User> getUserList(int pageNum,int pageSize){
        PageInfo<User> pageInfo = userService.queryUserAll(pageNum, pageSize);
        List<User> list = pageInfo.getList();
        list.forEach(System.out::println);
        return list;
    }
}

八、使用postman调用接口进行测试

springboot整合mybatis并使用分页插件pageHelper_第2张图片
控制台打印:
springboot整合mybatis并使用分页插件pageHelper_第3张图片

你可能感兴趣的:(笔记,mybatis,spring,boot,java)