Mybatis接收Map参数及处理过程

  •  Map类型参数paramMap的预处理
//初始化Map
Map paramMap = new HashMap<>(16);
//put键值对
paramMap.put("BKLB","2");
paramMap.put("BKBSM","T");
paramMap.put("","s");
paramMap.put("BKHM",null);
//移除key为null、空串,value为null、空串的键值对
Map newMap = paramMap.entrySet().stream().filter((e) -> 
                e.getValue() != null && e.getValue() != ""  &&
				e.getKey() != null && e.getKey() != "").collect(Collectors.toMap(
				(e) -> (String) e.getKey(),
				(e) -> (String) e.getValue()));

 

  •  mybatis中的处理

    update PC_CLBMDXXSJX
    set  DELETE_FLAG = '1'
    
      1 = 0 OR (1 = 1
      
        AND BKLB = #{BKLB}
      
      
        AND BKBSM= #{BKBSM}
      
      )
    

mybatis中的处理说明:中的"BKLB"为Map中的key值;AND BKLB = #{BKLB}中的第一个BKLB为数据库中的字段名,#{BKLB}才是Map中的value值,及上述paramMap参数中"BKLB"->"2"。

你可能感兴趣的:(SpringBoot)