myabtis中使用not in与 in的写法

首先声明我不是很喜欢用foreach,所以我的代码中很少出现foreach。不废话了,上代码:

 in的用法:

我的id是Long类型的

service方法,有一个Long的集合:

public List listByPackageId(List ids, String systemCode) {
    Map map = new HashMap();
    if(ids.size()!=0) {
        StringBuilder sbd = new StringBuilder();
        for(Long cateIds:ids){
            sbd.append(cateIds+",");
        }
        String idStr = sbd.toString();
        idStr = idStr.substring(0,idStr.length()-1);
        map.put("ids", idStr);
    }

实体类.xml

select * from xxx where 

 FIND_IN_SET(id,#{ids})   

not in的用法

service方法,有一个Long的集合:

public List listByPackageId(List ids, String systemCode) {
    Map map = new HashMap();
    if(ids.size()!=0) {
        StringBuilder sbd = new StringBuilder();
        for(Long cateIds:ids){
            sbd.append(cateIds+",");
        }
        String idStr = sbd.toString();
        idStr = idStr.substring(0,idStr.length()-1);
        map.put("notids", idStr);
    }

实体类.xml

select * from xxx where 

 NOT FIND_IN_SET(id,#{notids})   

 

你可能感兴趣的:(java,mybatis,mysql)