这里记录一下项目中碰到使用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();
|
免责声明:
1,海欣资源网所发布的资源由网友上传和分享,不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
2,海欣资源网的资源来源于网友分享,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3,海欣资源网所发布的资源由网友上传和分享,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
4,如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉,联系方式邮箱 haixinst@qq.com
|