Mybatis-Plus的Db工具类

在MyBatis-Plus里,Db是一个更方便的工具类,可以直接进行增删改查操作,不必定义Mapper。这个Db常常用于快速开发中,它底层还是调用了BaseMapper的相关方法。常见的一些使用Db进行的数据库操作的方法有:

查询(SELECT):

Db.query():创建查询器。

Db.lambdaQuery():创建Lambda表达式的查询器。

Db.getById():根据ID查询一条记录。

Db.list():查询全部记录。

Db.page():分页查询。

插入(INSERT):

Db.save():保存一条记录(插入或更新,根据主键策略)。

Db.saveBatch():批量保存。

更新(UPDATE):

Db.update():更新记录。

Db.lambdaUpdate():创建Lambda表达式的更新器。

删除(DELETE):

Db.remove():删除记录。

Db.lambdaRemove():创建Lambda表达式的删除器。

你已经提到的代码:

User user = Db.lambdaQuery(User.class).eq(User::getOpenid, openid).one();

这个操作是使用Lambda查询构造器根据openid字段去查找一个用户。解析这行代码:

Db.lambdaQuery(User.class):创建一个与User实体相关的Lambda查询构造器。

.eq(User::getOpenid, openid):在查询条件中添加了一个等于(equal)的条件,即找到openid字段等于指定openid值的记录。

.one():执行查询,并返回查询结果的第一条记录。

注意one()是期望查询结果只有一条记录,如果查询结果为空或超过一条记录,它就不是最佳的选择。

其他常用操作例如:

// 插入一条新的记录

User newUser = new User();
newUser.setName("New User");
newUser.setEmail("newuser@example.com");
Db.save(newUser);

// 更新记录

boolean updated = Db.lambdaUpdate(User.class)
                    .eq(User::getId, userId)
                    .set(User::getName, "Updated Name")
                    .update();

/ 删除记录

boolean removed = Db.lambdaRemove(User.class)
                    .eq(User::getId, userId)
                    .remove();

前提是你需要导入MyBatis-Plus的Db工具类:

import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;

import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;

并且确保你项目依赖了正确版本的MyBatis-Plus。这些是简化版的操作方法,实际使用时可能还需要关注事务管理、异常处理等方面。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值