mybatisplus取表中部分字段
时间: 2023-11-28 20:46:10 浏览: 214
可以使用Mybatis-plus的lambdaQuery和select方法来实现只查询表中部分字段的功能。具体实现方法如下:
假设我们有一个Shop表,其中包含id、name、address、district等字段,现在我们只需要查询id和name这两个字段,可以使用以下代码:
```java
List<Shop> shopList = shopMapper.selectList(Wrappers.<Shop>lambdaQuery()
.select(Shop::getId, Shop::getName));
```
其中,lambdaQuery()方法返回一个LambdaQueryWrapper对象,select()方法用于指定查询的字段,Shop::getId和Shop::getName表示id和name字段。
如果我们只需要查询一个对象,可以使用selectOne()方法,例如:
```java
Shop shop = shopMapper.selectOne(Wrappers.<Shop>lambdaQuery()
.select(Shop::getId, Shop::getName)
.eq(Shop::getId, shopId));
```
这里我们还使用了eq()方法来指定查询条件,查询id为shopId的记录。
需要注意的是,如果我们使用selectOne()方法查询部分字段时,一定要保证查询结果中至少有一个字段不为null,否则查询结果为null。例如:
```java
Shop shop = shopMapper.selectOne(Wrappers.<Shop>lambdaQuery()
.select(Shop::getName, Shop::getDistrict)
.eq(Shop::getId, shopId));
```
如果查询结果中name和district都为null,那么shop对象为null。
阅读全文