MybatisPlus

送分小仙女□ 提交于 2020-09-30 02:42:07

详情见 mybatis-plus官网

快速开始

  • 引入依赖
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.0</version>
</dependency>
  • 配置连接数据库,和mybatis一样
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
  • 在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹

  • 编写实体类 User.java

  • 编写Mapper类 UserMapper.java

public interface UserMapper extends BaseMapper<User> {
}
  • 测试

常用注解

  • @TableName:将实体类和表名映射

  • @TableId

  • @TableField

条件构造器

@Test
void load1(){
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.isNotNull("name")
        .isNotNull("email")
        .ge("age",20);
    userMapper.selectList(wrapper).forEach(System.out::println);
}


@Test
void load2(){
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.eq("name","tony");
    List<User> list = userMapper.selectList(wrapper);
    list.forEach(System.out::println);
}


@Test
void load3(){
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.between("age",1,20);
    Integer integer = userMapper.selectCount(wrapper);
    System.out.println(integer);
}


@Test
void load4(){
    //模糊查询
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.notLike("name","c")
        .likeLeft("email","qq"); 
    List<Map<String, Object>> maps = userMapper.selectMaps(wrapper);
    maps.forEach(System.out::println);
}


@Test
void load6(){
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.orderByAsc("id");  //通过id进行排序
    List<User> list = userMapper.selectList(wrapper);
    list.forEach(System.out::println);
}


@Test
void load5(){
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.inSql("id","select id from user where id<3");

    List<Object> objects = userMapper.selectObjs(wrapper);
    objects.forEach(System.out::println);
}

分页查询

@Configuration
public class MybatisPlusConfig {
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
        return paginationInterceptor;
    }
}
@Test
void test2(){
    Page<User> page = new Page<>(2, 2);
    Page<User> userPage = userDao.selectPage(page, null);

    System.out.println("总数量:"+userPage.getTotal());

    List<User> records = userPage.getRecords();

    System.out.println(records);
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!