Mybatis传单个参数和& lt; if>标签同时使用的问题及解决方法

  //Mapper.java   EmerEvent selectByAlarmId(整数alarmId);//Mapper.xml   & lt;选择id=" selectByAlarmId " resultMap=癇aseResultMap parameterType”=癹ava.lang.Integer”比;   选择   & lt;包括refid=" Base_Column_List "/比;   从事件   & lt; where>   & lt;如果测试=癮larmId !=null”比;   和alarm_id=# {alarmId jdbcType=整数}   & lt;/if>   & lt;/where>   & lt;/select>      

由于只传了一个参数:alarmId,配置文件中对应的sql里使用如果标签,然后报错:

  
  

org.apache.ibatis.reflection嵌套异常。ReflectionException:没有getter属性名为“alarmId”“阶级java.lang.Integer”

     

  

1。将映射器配置文件中sql语的句中的如果判断去掉

        & lt;选择id=" selectByAlarmId " resultMap=癇aseResultMap parameterType”=癹ava.lang.Integer”比;   选择   & lt;包括refid=" Base_Column_List "/比;   从事件   alarm_id=# {alarmId jdbcType=整数}   & lt;/select>      

2。如果想要使用如果标签,则将参数alarmId封装到对象或地图中即可

  

  

以上所述是小编给大家介绍的Mybatis传单个参数和& lt; if>标签同时使用的问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

Mybatis传单个参数和& lt; if>标签同时使用的问题及解决方法