zoukankan      html  css  js  c++  java
  • Mybatis基本类型参数非空判断(异常:There is no getter for property...)

    先看一小段代码

    <select id="queryByPhone" parameterType="java.lang.String" resultType="com.ccnc.bean.user.QuickUser">  
        select   
         *  
        from  quick_user where   
        <if test="phone != null" >  
           and phone = #{phone}  
        </if>  
      </select>

    粗看并没有什么问题,执行会报There is no getter for property phone ......

    原因是mybatis在对<if>解析时,会去parameterType指定的对象里获取相应属性,如果指定的对象是复杂对象,运行正常。这里是基本类型String,就会去String类找phone的get和set方法,所以报错。

    正确代码,去掉parameterType,同时在对应的dao加入@Praram注解

    <select id="queryByPhone"  resultType="com.ccnc.bean.user.QuickUser">  
        select   
         *  
        from  quick_user where   
        <if test="phone != null" >  
           and phone = #{phone}  
        </if>  
      </select>
    public interface quickUserDao{
    
    QuickUser queryByPhone(@Praram("phone") String phone);
    }
  • 相关阅读:
    你的灯亮着吗随笔2
    好搜--评价
    水王ID
    回溯算法
    贪心算法
    动态规划问题
    环境安装注意事项
    好用的idea插件记录
    软件工程项目冲刺阶段二:第七天
    软件工程项目冲刺阶段二:第六天
  • 原文地址:https://www.cnblogs.com/zxxfz/p/11987980.html
Copyright © 2011-2022 走看看