栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

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

mysql的表结构:

 编码部分:

1、依赖部分

 
        
            org.springframework.boot
            spring-boot-starter
        

        
            com.baomidou
            mybatis-plus-boot-starter
            3.3.1.tmp
        
        
            mysql
            mysql-connector-java
            8.0.18
        
        
            org.projectlombok
            lombok
            1.18.10
        

        
            org.springframework.boot
            spring-boot-starter
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
    

2、application.yml

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

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
mybatis-plus:
  configuration:
    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

@Data
public class User {
    private int id;
    private String userName;
    private int age;
    private String sex;
}

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

public interface UserMapper extends baseMapper {
}

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

@Configuration
@ConditionalOnClass(value = {PaginationInterceptor.class})
public class MybatisPlusConfig {
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        return paginationInterceptor;
    }
}

6、一切就绪,开始编写测试方法。。。直接测试真的很好用,也不需要开放接口

@SpringBootTest
class DemoApplicationTests {

    @Autowired
    private UserMapper userMapper;

    @Test
    void contextLoads() {
    }

    @Test
    public void searchUserList(){
        System.out.println("分页查询测试!》》》》》》");
        IPage userPage = userMapper.selectPage(new Page<>(2,100),null);
        List listUser = userPage.getRecords(); //List结果集
        for (User user: listUser){
            System.out.println(user);
        }
    }

}

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

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

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

 最后:

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/671537.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号