千家信息网

mybatis对传入基本类型参数的判断方式有哪些

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍mybatis对传入基本类型参数的判断方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!对传入基本类型参数的判断mybatis的xml文件的sql语句中p
千家信息网最后更新 2025年02月01日mybatis对传入基本类型参数的判断方式有哪些

这篇文章主要介绍mybatis对传入基本类型参数的判断方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

对传入基本类型参数的判断

mybatis的xml文件的sql语句中parameterType为基本类型,如:

会报错:There is no getter for property named 'id' in 'class java.lang.Integer'

这是因为Integer对象中没有id属性

解决办法

即将接收参数的参数名改为_parameter,注意改成其他参数名没用。

传入基本类型参数时test判断报错

在使用mybatis的时候出现了这样的问题:

//Dao层的接口中的代码List> getName(String username);
//对应的mapper中的代码

//报的错误
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException:
There is no getter for property named 'username' in 'class java.lang.String'

分析

There is no getter for property named ‘username’ in ‘class java.lang.String’,这句话打大概意思是:在"class java.lang.String"中没有名为"username"的属性的getter方法。因为mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取string.num值,引起错误。

解决办法

if test中的id用_parameter替换,而实际的语句不需要修改and a.id =#{id},因为Mybatis当只传入一个参数时#{ } 中的内容没有要求。

在Mapper中给出入参设置名称,例:public … getName(@Param("username") String username);这样修改后我们前面的写法就不会报错了。

以上是"mybatis对传入基本类型参数的判断方式有哪些"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0