MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除

目录

1.条件查询、多条件查询

MyBatisPlus将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合。

@Test
void testGetByCondition() {
    // 方式一:按条件查询
    QueryWrapper qw = new QueryWrapper();
    qw.lt("age", 20);
    List userList = userDao.selectList(qw);
    System.out.println(userList);
    // 方式二:lambda格式
    QueryWrapper qw2 = new QueryWrapper();
    qw2.lambda().lt(User::getAge, 10);
    List userList2 = userDao.selectList(qw2);
    System.out.println(userList2);
    // 方式三:lambda格式
    LambdaQueryWrapper qw3 = new LambdaQueryWrapper();
    qw3.lt(User::getAge, 10);
    List userList3 = userDao.selectList(qw3);
    System.out.println(userList3);

    // 多条件查询
    LambdaQueryWrapper lqw = new LambdaQueryWrapper();
    // 10到30岁之间
    // lqw.lt(User::getAge, 30).gt(User::getAge, 10);
    // 小于10岁或大于30岁
    lqw.lt(User::getAge, 10).or().gt(User::getAge, 30);
    List userList4 = userDao.selectList(lqw);
}

2.条件查询null判定

封装User模型的查询条件,这里age是具有上下限的,User类里面的age作为下限,这里的age2作为上限。

domain.query.UserQuery.java

package com.example.domain.query;

import com.example.domain.User;
import lombok.Data;

@Data
public class UserQuery extends User {
    private int age2;
}

①if语句控制

MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除_第1张图片

②条件参数控制

MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除_第2张图片

3. 查询投影

查询结果包含模型类中的部分属性

MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除_第3张图片

查询结果包含模型类中未定义的属性

MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除_第4张图片

4.查询条件

 MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除_第5张图片

MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除_第6张图片 

5.@TableField注解和@TableName注解

问题一:表字段和编码属性设计不同步
问题二:编码中添加了数据库中未定义的属性
问题三:设定某个字段不参与查询,比如密码pwd字段
问题四:表名与编码开发设计不同步

前三个问题采用@TableField注解,问题四采用@TableName注解

MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除_第7张图片

6.id生成策略控制

不同的表,应用不同的id生成策略。

  • 日志:自增(1,2,3....)
  • 购物订单:特殊规则(FQ23948c232e)
  • 外卖单:关联地区、日期等信息

使用@TableId注解

MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除_第8张图片

MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除_第9张图片

7. 多记录操作

MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除_第10张图片

 

8.逻辑删除

删除操作的问题:业务数据从数据库中丢弃

逻辑删除:为数据设置是否可用状态字段,删除时设置字段为不可用状态,数据保留在数据库中。

具体使用@TableLogic注解

MyBatisPlus入门篇2 - 条件查询、查询投影、查询条件、id生成策略、多记录操作、逻辑删除_第11张图片

你可能感兴趣的:(SSM,java,条件查询,mybatisplus,ssm)