MybatisPlus-分页插件

springboot方式:

@Configuration
@EnableTransactionManagement
@MapperScan("com.xl.baomidouTest.mapper")
public class MybatisPlusConfig {

    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false
        // paginationInterceptor.setOverflow(false);
        // 设置最大单页限制数量,默认 500 条,-1 不受限制
        // paginationInterceptor.setLimit(500);
        // 开启 count 的 join 优化,只针对部分 left join
        //paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
        return paginationInterceptor;
    }
}

userMapper.java

public interface UserMapper extends BaseMapper<User> {

    //@Select("select * from user ${ew.customSqlSegment}")
    List<User> getAll(@Param(Constants.WRAPPER) QueryWrapper<User> wrapper);

    IPage<User> selectAllUser(Page<User> page, @Param(Constants.WRAPPER) QueryWrapper<User> wrapper);

}

userMapper.xml

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTO Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="com.xl.baomidouTest.mapper.UserMapper">
    <select id="getAll" resultType="com.xl.baomidouTest.entity.User">
        SELECT * FROM user ${ew.customSqlSegment}
    </select>

    <select id="selectAllUser" resultType="com.xl.baomidouTest.entity.User">
        SELECT * FROM user ${ew.customSqlSegment}
    </select>

</mapper>

application.yml

# DataSource Config
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/baomidou?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
    username: root
    password: 111111

mybatis-plus:
  mapper-locations: classpath:/mapper/*.xml
    # 实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.xl.baomidouTest.entity

测试:

@SpringBootTest
class BaomidouTestApplicationTests {

    @Autowired//注入
    private UserMapper userMapper;

    @Test
    void selectAllUser() {
        Page page = new Page(1,1);
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.eq("age",18);
        IPage<User> iPage =  userMapper.selectAllUser(page,queryWrapper);
        System.out.println("总记录数:"+iPage.getTotal());
        System.out.println("总页数:"+iPage.getPages());
        List<User> userList = iPage.getRecords();
        userList.forEach(System.out::println);
    }

}

 

posted @ 2020-07-05 21:03  樱花树下的蓝天  阅读(680)  评论(0)    收藏  举报