加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Mybatis中传参报There is no getter for property name 'xxx'

(2013-04-18 18:00:02)
标签:

ibatis

mybatis

it

分类: 数据库

一、发现问题

<select id="queryStudentByNum" resultType="student" parameterType="string"> 
select num,name,phone from student 
<where>
<if test = " num!=null and num!='' ">
AND num = #{num}
</if>
</where>
</select>

Mybatis查询传入一个字符串传参数,报There is no getter for property named 'num' in 'class java.lang.String'。

Mybatis查询传入一个字符串传参数,报There is no getter for property named 'num' in 'class java.lang.String'。


二、解决问题

<select id="queryStudentByNum" resultType="student" parameterType="string"> 
select num,name,phone from student 
<where>
<if test = "_parameter!=null and _parameter!='' ">
AND num = #{_parameter}
</if>
</where>
</select>

无论参数名,都要改成"_parameter"。


三、原因分析
Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取string.num值,引起报错。也可以public List methodName(@Param(value="num") String num)的方法说明参数值

 

参考博客:
http://blog.sina.com.cn/s/blog_86e49b8f010191hw.html
http://txin0814.iteye.com/blog/1533645

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有