mybatis plus如何deptName获取到deptId
时间: 2024-03-31 09:33:52 浏览: 153
可以通过 MyBatis Plus 的 `selectOne` 方法结合 Lambda 表达式来实现根据 `deptName` 查询 `deptId` 的功能。具体实现如下:
```java
// 导入相关类
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
// 定义 DAO 层接口
public interface DeptMapper extends BaseMapper<Dept> {
// 根据 deptName 查询 deptId
default Long selectDeptIdByDeptName(String deptName) {
LambdaQueryWrapper<Dept> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(Dept::getDeptName, deptName)
.select(Dept::getDeptId);
return selectOne(queryWrapper).getDeptId();
}
}
```
以上代码中,我们首先定义了一个 `selectDeptIdByDeptName` 方法,该方法接收一个 `deptName` 参数,并返回对应的 `deptId`。具体实现中,我们使用了 `LambdaQueryWrapper` 对象构建查询条件,并通过 `selectOne` 方法查询出符合条件的一条记录。需要注意的是,我们在 `LambdaQueryWrapper` 对象中使用了 `select` 方法来指定查询结果只返回 `Dept` 实体类中的 `deptId` 属性。最终,我们通过 `getDeptId` 方法获取 `deptId` 并返回。
阅读全文