当前位置:   article > 正文

springboot (03)使用pagehelper分页插件_pagehelper怎么配置到yml中

pagehelper怎么配置到yml中

PageHelper是一个开源的MyBatis分页插件。它可以通过拦截器来实现自动分页。PageHelper拦截器会在查询语句执行之前拦截它并自动为其添加分页参数。PageHelper可以支持各种不同类型的数据库,包括MySQL、Oracle和PostgreSQL等。 PageHelper非常易于使用,只需要在pom.xml文件中添加依赖即可。

在Spring Boot应用中使用PageHelper分页插件,可以通过以下步骤来配置application.yml文件:

springboot使用PageHelper分页插件(一)

  1. 首先,在pom.xml文件中添加以下依赖:
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>{PageHelper版本号}</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 接着,在application.yml文件中添加以下内容:
mybatis:
  configuration:
    # 开启驼峰命名规则
    map-underscore-to-camel-case: true
    # 分页插件配置
    plugins:
      - com.github.pagehelper.PageInterceptor
  # Mapper文件的位置
  mapper-locations: classpath:mapper/*.xml
  # MyBatis的配置文件位置
  config-location: classpath:mybatis-config.xml

# PageHelper插件的配置
pagehelper:
  # 分页合理化参数配置
  reasonable: true
  # 支持通过 Mapper 接口参数来传递分页参数
  support-methods-arguments: true
  # 默认每页条数
  default-page-size: 20
  # 默认第一页
  default-page-num: 1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

其中,mybatis.configuration.plugins指定了PageHelper分页插件的拦截器mybatis.pagehelper.*指定了PageHelper插件的配置参数。

  1. 在Mapper接口中使用PageHelper分页:
@Mapper
public interface UserMapper {
    List<User> selectAll();

    // 使用PageHelper分页
    List<User> selectAllWithPage();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  1. 在Service类中调用Mapper接口方法:
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public List<User> findAllWithPage(int pageNum, int pageSize) {
        // 开启分页
        PageHelper.startPage(pageNum, pageSize);
        // 查询所有用户
        return userMapper.selectAllWithPage();
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

通过以上步骤,即可在Spring Boot应用中使用PageHelper分页插件进行数据分页操作。

springboot使用PageHelper分页插件(二)

1.首先,在pom.xml文件中添加以下依赖:

<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper-spring-boot-starter</artifactId>
  <version>1.2.12</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

2.接着,在application.yml文件中添加以下内容:

spring:
  main:
    allow-circular-references: true
  • 1
  • 2
  • 3

不加这个配置报下面的错

The dependencies of some of the beans in the application context form a cycle:
┌──->──┐
|  com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration
└──<-──┘
  • 1
  • 2
  • 3
  • 4

这是一个循环依赖的错误。错误信息表明,应用程序上下文中某些bean的依赖关系形成了一个循环。具体来说,com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration和其他一些bean之间存在循环依赖。

3.mapper接口

@Mapper
public interface UserMapper {
    List<String> selectNameAll();
}
  • 1
  • 2
  • 3
  • 4

4.mapper.xml

<select id="selectNameAll" resultType="String">
    select name from user
</select>
  • 1
  • 2
  • 3

5.在Service类中调用Mapper接口方法

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<String> selectNameAll(Integer pageNum,Integer pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        List<String> names = userMapper.selectNameAll();
        PageInfo<String> info = new PageInfo<>(names);
        System.out.println(info);
        return names;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/88295
推荐阅读
相关标签
  

闽ICP备14008679号