• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

笔记Mybatis-puls的基础分页操作

武飞扬头像
好的吧先生
帮助1

有一说一,mybatis-plus确实好用,不愧是plus版本。

无论是基本的CRUD操作,还是基础代码生成工具用起来都很轻松愉快,这里主要是记录分页操作。

mysql的表结构:

学新通

 编码部分:

1、依赖部分

  1.  
    <dependencies>
  2.  
    <dependency>
  3.  
    <groupId>org.springframework.boot</groupId>
  4.  
    <artifactId>spring-boot-starter</artifactId>
  5.  
    </dependency>
  6.  
     
  7.  
    <dependency>
  8.  
    <groupId>com.baomidou</groupId>
  9.  
    <artifactId>mybatis-plus-boot-starter</artifactId>
  10.  
    <version>3.3.1.tmp</version>
  11.  
    </dependency>
  12.  
    <dependency>
  13.  
    <groupId>mysql</groupId>
  14.  
    <artifactId>mysql-connector-java</artifactId>
  15.  
    <version>8.0.18</version>
  16.  
    </dependency>
  17.  
    <dependency>
  18.  
    <groupId>org.projectlombok</groupId>
  19.  
    <artifactId>lombok</artifactId>
  20.  
    <version>1.18.10</version>
  21.  
    </dependency>
  22.  
     
  23.  
    <dependency>
  24.  
    <groupId>org.springframework.boot</groupId>
  25.  
    <artifactId>spring-boot-starter</artifactId>
  26.  
    </dependency>
  27.  
    <dependency>
  28.  
    <groupId>org.springframework.boot</groupId>
  29.  
    <artifactId>spring-boot-starter-test</artifactId>
  30.  
    <scope>test</scope>
  31.  
    <exclusions>
  32.  
    <exclusion>
  33.  
    <groupId>org.junit.vintage</groupId>
  34.  
    <artifactId>junit-vintage-engine</artifactId>
  35.  
    </exclusion>
  36.  
    </exclusions>
  37.  
    </dependency>
  38.  
    </dependencies>
学新通

2、application.yml

yml好用明了,不过稍不注意就容易碰到坑,空格经常被忽略导致报错

  1.  
    spring:
  2.  
    datasource:
  3.  
    driver-class-name: com.mysql.cj.jdbc.Driver
  4.  
    username: root
  5.  
    password: root
  6.  
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT+8
  7.  
    mybatis-plus:
  8.  
    configuration:
  9.  
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  这是用于打印sql的配置,不需要就不用

3、创建一个非常简单的实体类,这里用@Data来自lombok,主要是节省了写get和set,代码更加简洁。所有字段需要和数据库一个一个地对应,驼峰命名的字段在数据表中为下划线格式,userName=》user_name

  1.  
    @Data
  2.  
    public class User {
  3.  
    private int id;
  4.  
    private String userName;
  5.  
    private int age;
  6.  
    private String sex;
  7.  
    }

4、写一个简单的mapper接口,继承了baseMapper

  1.  
    public interface UserMapper extends BaseMapper <User>{
  2.  
    }

5、想要使用框架提供的分页查询组件,写一个config类即可

  1.  
    @Configuration
  2.  
    @ConditionalOnClass(value = {PaginationInterceptor.class})
  3.  
    public class MybatisPlusConfig {
  4.  
    @Bean
  5.  
    public PaginationInterceptor paginationInterceptor() {
  6.  
    PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
  7.  
    return paginationInterceptor;
  8.  
    }
  9.  
    }

6、一切就绪,开始编写测试方法。。。也不需要开放接口

  1.  
    @SpringBootTest
  2.  
    class DemoApplicationTests {
  3.  
     
  4.  
    @Autowired
  5.  
    private UserMapper userMapper;
  6.  
     
  7.  
    @Test
  8.  
    void contextLoads() {
  9.  
    }
  10.  
     
  11.  
    @Test
  12.  
    public void searchUserList(){
  13.  
    System.out.println("分页查询测试!》》》》》》");
  14.  
    IPage<User> userPage = userMapper.selectPage(new Page<>(2,100),null);
  15.  
    List<User> listUser = userPage.getRecords(); //List结果集
  16.  
    for (User user: listUser){
  17.  
    System.out.println(user);
  18.  
    }
  19.  
    }
  20.  
     
  21.  
    }
学新通

分页查询结果查询结果,数据比较多,第二页就是101-200,总共100条。

也可以看到,后台打印的sql  SELECT id,user_name,age,sex FROM user LIMIT ?,? 

底层原理还是没变,无非上层封装了

学新通

 最后:
学新通

别忘在启动类上指定mapper,要不然会报错 

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfjihi
系列文章
更多 icon
同类精品
更多 icon
继续加载