为什么Mybatis认为null从控制器传递为String类型“null”

时间:2017-06-23 02:06:03

标签: java spring-mvc mybatis

以下是我的控制器的样子

@ResponseBody
@RequestMapping(value = "/list", method = RequestMethod.POST)
public List<myBean> list(String person){
  Map<String,Object> reqMap = new HashMap();
  reqMap.put("person", person);
  return myService.getList();
}

这是Mybatis映射文件

<select id="list" resultMap="rs_Bean" parameterType="java.util.Map">
  SELECT * FROM myTable
  <trim prefix="where" prefixOverrides="and | or">
    <if test="null != person">
      AND name = #{person}
    </if>
  </trim>
</select>

我想要的是如果person字段为null则不会进入sql语句。
但是我发现Mybatis认为null为String“null”

  

SELECT * FROM myTable where person =?

     

参数:null(String)

您能告诉我导致问题的原因和解决方法。
任何帮助将受到高度赞赏。

0 个答案:

没有答案