如何查询List中属性code为1~9中的数据,的三种方式

admin2024-07-02  11

List<SpecialTesting> specialTestingFour = baseMapper.selectList(Wrappers.<SpecialTesting>query().lambda()
.in(SpecialTesting::getId, listId)); 

以上述Demo为例,如何查询parentCode为1~9的数据????

方式一:

List<SpecialTesting> specialTestingFour = baseMapper.selectList(Wrappers.<SpecialTesting>query().lambda()  
    .eq(SpecialTesting::getType, "parameter")  
    .in(SpecialTesting::getId, listId)  
    .or() // 开始or条件组  
    .eq(SpecialTesting::getParentCode, "1")  
    .or().eq(SpecialTesting::getParentCode, "2")  
    .or().eq(SpecialTesting::getParentCode, "3")  
    .or().eq(SpecialTesting::getParentCode, "4")  
    .or().eq(SpecialTesting::getParentCode, "5")  
    .or().eq(SpecialTesting::getParentCode, "6")  
    .or().eq(SpecialTesting::getParentCode, "7")  
    .or().eq(SpecialTesting::getParentCode, "8")  
    .or().eq(SpecialTesting::getParentCode, "9") 
);

方式二:

List<SpecialTesting> specialTestingFour = baseMapper.selectList(Wrappers.<SpecialTesting>query().lambda()  
    .eq(SpecialTesting::getType, "parameter")  
    .in(SpecialTesting::getId, listId)  
    .and(wrapper -> wrapper.between(SpecialTesting::getParentCode, 1, 9))
);

方式三:

List<SpecialTesting> specialTestingFour = baseMapper.selectList(Wrappers.<SpecialTesting>query().lambda()  
    .regexp(SpecialTesting::getParentCode, "^[1-9]$") 
);

请注意,我在上面的代码中使用了getCode()作为获取code字段值的方法。你需要确保SpecialTesting类中有这个方法,并且它返回的是String类型。如果code字段不是String类型,你可能需要进行类型转换。

另外,如果你的parentCode字段实际上是字符串类型,并且你想要匹配的是字符串"1"到"9",那么你的查询条件不需要改变。但是,如果parentCode字段是数值类型,并且你错误地将其与字符串"1"和"9"进行了比较,那么你需要修改查询条件以确保正确的类型匹配。

如果你的parentCode字段是字符串类型,并且你想要匹配的是以"1"到"9"开头的任何字符串(而不仅仅是单个字符),那么你可能需要使用like条件而不是between,但这取决于你的具体需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!