以下是我的控制器的样子
@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)
您能告诉我导致问题的原因和解决方法。
任何帮助将受到高度赞赏。