<select id="queryLocationIdByMediaName" parameterType="java.lang.String" resultType="cn.com.minbolg.pts.model.TblLocation">
select * from tbl_location
<where>
<if test="mediaAccountName != null">
mediaAccountName = #{mediaAccountName}
</if>
</where>
order by update_time asc
</select>
在测试时报错:
There is no getter for property named 'mediaAccountName' in 'class java.lang.String'
问题分析:Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取string.mediaAccountName值,引起报错。
解决方法: 参数前添加@Param(value="mediaAccountName")
public List<TblLocation> queryLocationIdByMediaName(@Param(value="mediaAccountName") String mediaAccountName);