概述
如何传递单个String类型的参数
使用mybatis接口参数只有一个string的时候 如果不指定@Param 的话mybatis去会把parameterType参数默认成接口的参数类型然后对于xml里的#{a}参数 去调用该类型下参数a 的get/set方法然后就报错了。
使用了@Param注解 mybatis就会一一对应赋值就不会导致这个错误。
接口如下:
xml文件如下:
报错如下:
改成如下就可以了:
mybatis仅传入一个String类型参数报错
mybatis中仅传入一个String类型参数时,不可以用 以下方式
List<Map<String,Object> selectEmployee(String time)
这种方式传参会报错:
There is no getter for property named 'id' in class 'java.lang.String'
目前我知道有两种方式解决问题
1.用 _parameter
<if test="_parameter !=null and _parameter !=''"> DATE_FORMAT( dms.statistic_date, '%Y-%m' ) = #{_parameter,jdbcType=VARCHAR} </if>
2.在mapper中参数加上@Param注解
List<Map<String,Object> selectEmployee(@param("time") String time)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持靠谱客。
最后
以上就是风趣棒球为你收集整理的mybatis中如何传递单个String类型的参数的全部内容,希望文章能够帮你解决mybatis中如何传递单个String类型的参数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复