Springboot+MybatisPlus高效实现增删改查

本文详细介绍了如何使用SpringBoot和MybatisPlus进行高效的数据库操作,包括批量修改、删除(物理和逻辑)、查询(单条、多条、分页)以及扩展功能如自动填充属性和枚举属性的使用。文中提供了具体的代码示例,涵盖了常见的数据库CRUD操作,并讲解了分页查询的实现方式和自定义分页参数。此外,还提及了自动填充字段的MetaObjectHandler配置以及枚举类型的使用技巧。
摘要由CSDN通过智能技术生成

//4.批量修改

List list = new ArrayList<>();

list.add(user);

this.updateBatchById(list);

3.删除

  • 物理删除

默认都是物理删除,会删除数据库中的该条记录。

public void remove(int id){

this.removeById(id);

}

其他方式:

//lambda表达式方式

this.remove(Wrappers.lambdaQuery(User.class).eq(User::getId,id));

//数据库原字段方式

this.remove(new QueryWrapper().eq(“id”,id));

//批量删除

this.removeByIds(ids);

  • 逻辑删除

逻辑删除不会删除数据库中的记录,只会修改删除标志字段。

使用方式,在字段上加上@TableLogic注解。

@TableLogic

private Integer deleted;

默认1为已删除,0为未删除。

当你调用删除方法比如removeById时不会删除记录,只会把deleted字段改为1;

你也可以配置已删除/未删除的标志值。

mybatis-plus:

global-config:

db-config:

logic-delete-field: flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置注解@TableLogic)

logic-delete-value: 1 # 逻辑已删除值(默认为 1)

logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

4.查询

查询方式可以查询单条记录信息和多条信息,示例如下:

//单个查询

User user = this.getById(id);

//lambda表达式

User user = this.getOne(Wrappers.lambdaQuery(User.class)

.eq(User::getId,id));

//数据库原字段

User user = this.getOne(new QueryWrapper()

.eq(“id”,id));

//查询多条记录

List ids = new ArrayList();

ids.add(1);

ids.add(2);

List users = this.listByIds(ids);

//查询20岁到30岁之间的用户

List users = this.list(Wrappers.lambdaQuery(User.class)

.ge(User::getAge,20)

.le(User::getAge,30));

//查询20岁或者30岁之间的用户

List users = this.list(Wrappers.lambdaQuery(User.class)

.eq(User::getAge,20)

.or().eq(User::getAge,30));

//查询年龄最小的10条记录

List users = this.list(Wrappers.lambdaQuery(User.class)

.orderByAsc(User::getAge)

.last(“limit 10”));

可以使用func方法根据参数指定对应的sql语句:

String orderColumn = “age”;

List users = this.list(Wrappers.lambdaQuery(User.class)

.func(w->{

//如果排序列是年龄则根据年龄排序

if(“age”.equals(orderColumn)){

w.orderByAsc(User::getAge);

}else if(“nickName”.equals(orderColumn)){

//如果排序列是昵称则根据昵称排序

w.orderByAsc(User::getNickName);

}

}));

五、分页


在3.4.0版本以前使用的是PaginationInterceptor,只需要在配置类中定义:

@Bean

public PaginationInte

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值