mybatisPlus基本用法

1.pom.xml

<!--    mybatisPlus-->
<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-boot-starter</artifactId>
  <version>2.3</version>
</dependency>

2.配置文件

3.实体类

@Data
@TableName("student")
public class Student {
    @TableId(value = "sid", type = IdType.AUTO)
    private Integer sid;

    @TableField("name")
    private String name;
    
    private Integer age;
}

4.mapper

public interface StudentMapper extends BaseMapper<Student> {
}

4.1 常用方法

  • int insert(T entity);
  • int deleteById(Serializable id);
  • int updateById(@Param(Constants.ENTITY) T entity);
  • T selectById(Serializable id);

5.service

public interface StudentService extends IService<Student> {
}

5.1 常用方法

  • boolean save(T entity);
  • boolean removeById(Serializable id);
  • boolean update(Wrapper updateWrapper);
  • T getById(Serializable id);
  • List list(Wrapper queryWrapper);

6.分页

4.测试类

@SpringBootTest
@RunWith(SpringRunner.class)
public class TestStudent {
    @Resource
    private StudentMapper studentMapper;

    @Test
    public void test(){
        List<Student> list = studentMapper.selectList(null);
        list.forEach(System.out::println);
    }
}

5.条件构造器

5.1 LambdaQueryWrapper

基于 Lambda 表达式的查询条件构造器,它通过 Lambda 表达式来引用实体类的属性,从而避免了硬编码字段名

  • 带聚合函数
 LambdaQueryWrapper<TSaleAutosaleorderPo> queryWrapper = new QueryWrapper<TSaleAutosaleorderPo>()
                .select("pay_type", "count(*) as count")
                .lambda()
                .ne(TSaleAutosaleorderPo::getStatus, AutoSaleOrderStatusEnum.CANCELED.getKey())
  • 基本使用
LambdaQueryWrapper<TSaleAutosaleorderPo> queryWrapper = new LambdaQueryWrapper<TSaleAutosaleorderPo>()
                .ne(TSaleAutosaleorderPo::getStatus, AutoSaleOrderStatusEnum.CANCELED.getKey())
                .eq(TSaleAutosaleorderPo::getAssignVehicleStatus, AssignVehicleStatusEnum.WPC.getKey())
                .select(TSaleAutosaleorderPo::getId)
  • 比较相关
gt(User::getAge, 18) >18
ge(User::getAge, 18) >=18
lt(User::getAge, 18) <18
le(User::getAge, 18) <=18
between(User::getAge, 18, 30) BETWEEN 18 AND 30

5.2 LambdaUpdateWrapper

posted @ 2022-11-01 12:16  lwx_R  阅读(10)  评论(0)    收藏  举报