springboot+mybatis框架。修改代码String jcyidsString="bb768bcb3ca649aaaaf073d0f0abe743,4bb214f612a04bb084fd2029572a6c0b,9d36289a4a99421b95cce0f6c0154b42,18351bc3fc1e4263b764767f9cdfd74d",在xml中select* from jcy_jcyxx where jcyid not in (#{jcyidsString})能查到不等于这四个值的数据
时间: 2024-01-22 22:20:16 浏览: 59
你可以尝试在xml中使用动态SQL的方式,将jcyidsString拆分成多个jcyid,然后使用not in语法进行查询。具体代码如下:
```
<select id="findJcyxxNotInJcyids" resultMap="jcyxxResultMap">
select * from jcy_jcyxx
<where>
<foreach collection="list" item="jcyid" separator="," open="and jcyid not in (" close=")">
#{jcyid}
</foreach>
</where>
</select>
```
在Java代码中,你需要将jcyidsString拆分成多个jcyid,并将它们存储在一个List中,然后将List传递给XML中的findJcyxxNotInJcyids方法。具体代码如下:
```
String jcyidsString = "bb768bcb3ca649aaaaf073d0f0abe743,4bb214f612a04bb084fd2029572a6c0b,9d36289a4a99421b95cce0f6c0154b42,18351bc3fc1e4263b764767f9cdfd74d";
List<String> jcyids = Arrays.asList(jcyidsString.split(","));
List<Jcyxx> jcyxxList = jcyxxMapper.findJcyxxNotInJcyids(jcyids);
```
其中,jcyxxMapper是你定义的mapper接口,它的代码类似如下:
```
@Mapper
public interface JcyxxMapper {
@Select("select * from jcy_jcyxx where jcyid not in (#{jcyids})")
List<Jcyxx> findJcyxxNotInJcyids(@Param("jcyids") List<String> jcyids);
}
```
这样就可以实现查询不等于jcyidsString中指定的jcyid的数据了。