在Mybatis-Plus项目中怎样使用eq()
这里记录一下项目中碰到使用eq(),但里面的结构是eq(Entity :: name ,“张三”),
算是第一次接触接触这个格式,这eq括号里面的“ :: ”两个冒号,就是该实体的字段,类似于传参
LambdaQueryWrapper<TbCloudbox> lqDevice = new LambdaQueryWrapper<>();(1)
//NVR
lqDevice.eq(TbCloudbox::getStreetNumber, "1354322180948406274");(2)
List<TbCloudbox> list = iTbCloudboxService.list(lqDevice);(3)
(1)创建QueryWrapper,类型为TbCloudbox,也就是你想要查询的实体类;
(2)声明实体类TbCloudbox,对应的字段streetNumber(注意:要使用get方法,getStreetNumber,可以看做是参数),后面‘1354322180948406274’就是参数的值
(3)利用实体类查询出想要的数据即可
上面是我最初的理解,也算错,今天又偶然发现一篇文章MyBatis-Plus QueryWrapper及LambdaQueryWrapper的使用,这里讲了lambda表达式的LambdaQueryWrapper
引入一个文章中的例子吧
@Data
public class BannerItem {
private Long id;
private String name;
private String img;
private String keyword;
private Integer type;
private Long bannerId;
}
QueryWrapper
最基础的使用方式是这样
// 查询条件构造器
QueryWrapper<BannerItem> wrapper = new QueryWrapper<>();
wrapper.eq("banner_id", id);
// 查询操作
List<BannerItem> bannerItems = bannerItemMapper.selectList(wrapper);
然后我们可以引入lambda,避免我们在代码中写类似的于banner_id的硬编码
QueryWrapper<BannerItem> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(BannerItem::getBannerId, id);
List<BannerItem> bannerItems = bannerItemMapper.selectList(wrapper);
如果只想查询一条记录,例如通过id查询某条记录的详情,使用.one()即可,例如
BannerItem bannerItem = new LambdaQueryChainWrapper<>(bannerItemMapper)
.eq(BannerItem::getId, id)
.one();
算是第一次接触接触这个格式,这eq括号里面的“ :: ”两个冒号,就是该实体的字段,类似于传参
LambdaQueryWrapper<TbCloudbox> lqDevice = new LambdaQueryWrapper<>();(1)
//NVR
lqDevice.eq(TbCloudbox::getStreetNumber, "1354322180948406274");(2)
List<TbCloudbox> list = iTbCloudboxService.list(lqDevice);(3)
(1)创建QueryWrapper,类型为TbCloudbox,也就是你想要查询的实体类;
(2)声明实体类TbCloudbox,对应的字段streetNumber(注意:要使用get方法,getStreetNumber,可以看做是参数),后面‘1354322180948406274’就是参数的值
(3)利用实体类查询出想要的数据即可
上面是我最初的理解,也算错,今天又偶然发现一篇文章MyBatis-Plus QueryWrapper及LambdaQueryWrapper的使用,这里讲了lambda表达式的LambdaQueryWrapper
引入一个文章中的例子吧
@Data
public class BannerItem {
private Long id;
private String name;
private String img;
private String keyword;
private Integer type;
private Long bannerId;
}
QueryWrapper
最基础的使用方式是这样
// 查询条件构造器
QueryWrapper<BannerItem> wrapper = new QueryWrapper<>();
wrapper.eq("banner_id", id);
// 查询操作
List<BannerItem> bannerItems = bannerItemMapper.selectList(wrapper);
然后我们可以引入lambda,避免我们在代码中写类似的于banner_id的硬编码
QueryWrapper<BannerItem> wrapper = new QueryWrapper<>();
wrapper.lambda().eq(BannerItem::getBannerId, id);
List<BannerItem> bannerItems = bannerItemMapper.selectList(wrapper);
如果只想查询一条记录,例如通过id查询某条记录的详情,使用.one()即可,例如
BannerItem bannerItem = new LambdaQueryChainWrapper<>(bannerItemMapper)
.eq(BannerItem::getId, id)
.one();