在mybatis 中对传入的字符串加入非空判断
使用ognl表达式,运行时发现异常
传入参数为 itemId, There is no getter for property named 'itemId' in 'class java.lang.String
修改前代码如下
<select id="get" resultMap="BaseResultMap" parameterType="java.lang.String">
<![CDATA[
SELECT tic.* FROM t_item_count AS tic
]]>
<where>
<if test="@org.apache.commons.lang3.StringUtils@isNotBlank(itemId)">
item_id = #{itemId}
</if>
</where>
</select>
发现不能将参数设为bean里的名称,如果传入类型为String类型,则参数需统一修改为[_parameter],修改后的sql语句如下(不管你的参数是什么,都要改成"_parameter")
<select id="get" resultMap="BaseResultMap" parameterType="java.lang.String">
<![CDATA[
SELECT tic.* FROM t_item_count AS tic
]]>
<where>
<if test="@org.apache.commons.lang3.StringUtils@isNotBlank(_parameter)">
item_id = #{_parameter}
</if>
</where>
</select>
不管你的参数是什么,都要改成 "_parameter"
然后就可以运行通过了。