码迷,mamicode.com
首页 > 编程语言 > 详细

Mybatis异常There is no getter for property named 'XXX' in 'class java.lang.String'

时间:2018-04-18 11:39:16      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:分享   技术分享   代码   问题   log   rom   code   解决方法   app   

 

Mybatis版本:mybatis-3.0.6.jar

1.当入参为 string类型时 (包括java.lang.String.) 

我们使用#{xxx}引入参数.会抛异常There is no getter for property named ‘XXX‘ in ‘class java.lang.String‘

技术分享图片
<select id="getBookingCount" resultType="int" parameterType="string">

select count(*) from TB_EMPC_BOOKING_ORDER T

where (t.state = ‘1‘ or t.state = ‘2‘)

and t.appointmenttime = #{state}

</select>
技术分享图片

 

2.解决方法一:把#{xxx}修改为 #{_parameter} 即可

技术分享图片
<select id="getBookingCount" resultType="int" parameterType="string">

select count(*) from TB_EMPC_BOOKING_ORDER T

where (t.state = ‘1‘ or t.state = ‘2‘)

and t.appointmenttime = #{_parameter}

</select>
技术分享图片

 

 

3.解决方法二:可以在方法中提前定义:

public int  methodName(@Param(value="state") String state ){

  ...

}

 

 

4.原因:Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取 string.xxx 值,如果没在在方法中定义,则会抛异常报错。

 

5.其他mybatis的版本不知道有没有这个问题,暂时没试过.

 

Mybatis异常There is no getter for property named 'XXX' in 'class java.lang.String'

标签:分享   技术分享   代码   问题   log   rom   code   解决方法   app   

原文地址:https://www.cnblogs.com/lhblogs/p/8872566.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!