MyBatisPlus

MyBatisPlus_第1张图片

 1、CRUD功能

增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)

2、分页功能

MyBatisPlus_第2张图片 MyBatisPlus_第3张图片

 日志设置

MyBatisPlus_第4张图片

MyBatisPlus_第5张图片

 3、条件查询

//1、条件查询
QueryWrapper qw = new QueryWrapper<>();
qw.lt("age",22);
List userList = userDao.selectList(qw);
System.out.println(userList);

//2、lambda格式
QueryWrapper qw = new QueryWrapper();
qw.lambda().lt(User::getAge,22);
List userList = userDao.selectList(qw);
System.out.println(userList);

//3
LambdaQueryWrapper lqw = new LambdaQueryWrapper();
lqw.lt(User::getAge,22);
List userList = userDao.selectList(lqw);
System.out.println(userList);


//大于等于18,小于65
qw.lt("age",65).ge("age",18);
qw.lamda.lt(User::getAge,65).ge(User::getAge,18);
lqw.lt(User::getAge,65).ge(User::getAge,18);
//或者
lqw.lt(User::getAge,65).or().ge(User::getAge,18);

//第一个参数是否为true,为true则连接当前条件
        lqw.gt(null!=uq.getAge(), User::getAge,uq.getAge());
EQ equal 等于
NE not equal 不等于
GT greater than 大于
LT less than 小于
GE greater than or equal 大于等于
LE less than or equal 小于等于

4、查询投影

//查询结果包含模型类中部分属性
lqw.select(User::getId,User::getName,User::getAge);

//查询结果包含模型类中未定义的属性
qw.select("count(*) as count, gender");
qw.groupBy("gender");

 5、查询条件

范围查询:between        lqw.libetween(User::getAge, 10, 30);//前面值小

模糊查询:like        lqw.like(User::getName,"J");

//likeLeft: %J        likeRight:J%

6、字段映射与表名映射

@TableField        @TableName(类注解)

模型类属性定义上方

设置当前属性对应的数据库表中的字段关系

@TableField(value="pwd")
private String password;

//value:设置数据库表中字段名称
//exist:设置属性在数据库表中是否存在,无法与value合并使用
//select:设置属性是否参与查询,此属性与select()映射配置不冲突

@TableName("tbl_user")
public class User{
    private Long id;
}

逻辑删除(物理删除)

@TableLogic(value="0")
private Integer deleted;

MyBatisPlus_第6张图片

 乐观锁

(秒杀问题,并发访问)

@Version
private Interger version;

//update set abc=1,version=version+1 where version=1
//加拦截器

MyBatisPlus_第7张图片

 

你可能感兴趣的:(Java,java,数据库,开发语言)