mybatis 基本类型的if条件判断问题 There is no getter for property named 'xxx' in 'class Java.lang.Integer'

来源:互联网 发布:adobe xd windows 编辑:程序博客网 时间:2024/06/05 15:46

mybatis中if test里判断传参时,如果传参是像int的基本类型,因为它没有getter方法所以会报错:There is no getter for property named 'xxx' in 'class java.lang.Integer' 


解决方法:(关于mybatis中基本类型条件判断问题 http://blog.csdn.net/cclovett/article/details/12855505)


1.修改select语句

[html] view plain copy
  1. <select id="sel_campusinfo" parameterType="int" resultType="Campusinfo">  
  2.         select cmpid,cmpname from campusinfo where state!='d' and cmpid!=0  
  3.         <if test="_parameter!=0">and cmpid=#{_parameter}</if>  
  4.     </select>  
参数名全部改为_parameter。


2.不修改sql,只修改接口

接口类:

[java] view plain copy
  1. Campusinfo sel_campusinfo( int cmpid);  

改为:

[java] view plain copy
  1. Campusinfo sel_campusinfo(@Param(value="cmpid"int cmpid);  


3.可以将参数包装在hashmap或者对象中作为参数
0 0
原创粉丝点击