mybais分页PageHelper使用

添加依赖配置

依赖

在pom.xml配置文件中添加PageHelper、 MySQL的JDBC数据库驱动。

<!-- SpringBoot/MyBatis使用PageHelper分页控件 -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.13</version>
</dependency>

注:如果引入了mybatis-spring-boot-starter依赖,那么可以不引入pagehelper依赖,因为mybatis-spring-boot-starter 会自动引入pagehelper。

pageHelper配置

#MyBatis使用pageHelper分页
pagehelper:
  helper-dialect: mysql
  reasonable: true
  support-methods-arguments: true
  • helper-dialect:配置使用哪种数据库语言,不配置的话pageHelper也会自动检测。
  • reasonable:在启用合理化时,如果 pageNum<1,则会查询第一页;如果 pageNum>pages,则会查询最后一页。
  • support-methods-arguments:支持通过Mapper接口参数来传递分页参数,默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。

entity实体类

@Data
public class User implements Serializable {
    private Integer id;
    private String loginName;
    private String loginPswd;
    private String name;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date regTime;
    private List<Address> addressList=new ArrayList<>();
}

mapper

UserMapper层

List<User> tuUser(@Param("id") String id, @Param("name") String name);

UserMapper.xml层

<!--分页-->
    <select id="tuUser" resultType="user">
        select * from tb_user
        <where>
            <if test="id!=null and id!=''">
                and id=#{id}
            </if>
            <if test="name!=null and name!=''">
                <bind name="name" value="'%'+name+'%'"/>
                and name like #{name}
            </if>
        </where>
    </select>

service

UserService层

PageInfo<User> toUser(String id, String name, Integer pageIndex, Integer pageSize);

UserServiceImpl层

 @Override
    public PageInfo<User> toUser(String id,String name,Integer pageIndex, Integer pageSize) {
        PageHelper.startPage(pageIndex,pageSize);
        List<User> userList=userMapper.tuUser(id,name);
        PageInfo<User> pageInfo =new PageInfo<>(userList);
        return pageInfo;
    }

controller

UserController控制器代码

@RequestMapping("/toUser")
    public String toUser(String id, String name, @RequestParam(value = "pageIndex",defaultValue = "1") Integer pageIndex,
                         @RequestParam(value = "pageSize" ,defaultValue = "2") Integer pageSize, Model model){

        PageInfo<User> userPageInfo=userService.toUser(id,name,pageIndex,pageSize);
        System.out.println(userPageInfo);
        model.addAttribute("user",userPageInfo);
        return "users/userList";
    }

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×