mybatis中if test里判断传参时,如果传参是像int的基本类型,因为它没有getter方法所以会报错:There is no getter for property named 'xxx' in 'class java.lang.Integer'
解决方法:(关于mybatis中基本类型条件判断问题 http://blog.youkuaiyun.com/cclovett/article/details/12855505)
1.修改select语句
- <select id="sel_campusinfo" parameterType="int" resultType="Campusinfo">
- select cmpid,cmpname from campusinfo where state!='d' and cmpid!=0
- <if test="_parameter!=0">and cmpid=#{_parameter}</if>
- </select>
参数名全部改为_parameter。
2.不修改sql,只修改接口
接口类:
- Campusinfo sel_campusinfo( int cmpid);
改为:
- Campusinfo sel_campusinfo(@Param(value="cmpid") int cmpid);
3.可以将参数包装在hashmap或者对象中作为参数