zoukankan      html  css  js  c++  java
  • There is no getter for property named 'id' in 'class java.lang.Integer

    There is no getter for property named 'id' in 'class java.lang.Integer

    问题描述:

    使用mybatis传入参数, 当参数类型是String ,Integer 等这些时。如果用他的 <if test="id != null and id != ''">标签判断该参数是否为空,通常会爆There is no getter for property named ‘id’ in ‘class java.lang.Integer异常。

    解决思路:

    • 在接口中该方法的参数前加上@Param(“参数名”)注解。
      例如:
      List<String> query(@Param(value="id") Integer id);
      
    • 我百度的时候,发现还有人这样解决,不知是否可行,一并摘录下来:
      在 xml文件中应该使用_parameter来代替参数名。
      例如:
    <select id="query" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
        select 
        	<include refid="Base_Column_List" />
        from t_user
        where 1=1
    	      <if test="_parameter!= null" >
    	      	 and  id = #{_parameter}
    		  </if>
      </select>
    

    总结:

    其实这个问题并不是很大,但是容易一不小心就误犯;所以一定要小心谨慎。

  • 相关阅读:
    mysql命令行如何得到表结构
    liunx cron问题
    关于SQL判断某个值的查询
    给自己的nexus私人仓库添加缺少的jar包
    MyEclipse9 Maven开发Web工程 详细配置
    springMVC 之 Controller
    java 动态代理
    Freemarker
    java编程陷阱
    HttpClient应用
  • 原文地址:https://www.cnblogs.com/mmzs/p/11139233.html
Copyright © 2011-2022 走看看