博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis单个参数的if判断(针对异常:There is no getter for property..)
阅读量:6209 次
发布时间:2019-06-21

本文共 792 字,大约阅读时间需要 2 分钟。

hot3.png

我们都知道mybatis在进行参数判断的时候,直接可以用 就可以了,如下:

1、常规代码

id = #{VALUE}

但是单个参数和多参数的判断有个不同点,当我们的入参为entity实体,或者map的时候,使用if 参数判断没任何问题。

但是当我们的入参为java.lang.Integer 或者 java.lang.String的时候,这时候就需要注意一些事情了

具体代码如下(咱们看着代码说,先展示错误代码):

2、错误代码

id = #{VALUE}

上述代码存在一些问题,首先入参是java.lang.Integer, 而不是map或者实体的入参方式,对于这类单个入参然后用if判断的,mybatis有自己的内置对象,

 

如果你在if判断里面 写的是你的入参的对象名,那就报异常:Internal error : nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'langId' in 'class java.lang.Integer'

3、正确代码:

175701_lOce_2300159.png

这里就涉及到mybatis的内置对象_parameter,单个参数判断的时候,就不像1、 2那样直接用参数对象名判断了。还有就是数据类型最好加上

转载于:https://my.oschina.net/u/2300159/blog/1799884

你可能感兴趣的文章
获取Extjs文本域中的内容
查看>>
RHEL 5基础篇—常见系统启动类故障
查看>>
对‘初学者应该选择哪种编程语言’的回答——计算机达人成长之路(38)
查看>>
Redis-3.2主从复制与集群搭建 推荐
查看>>
随便说说:在ASP.NET应用程序中上传文件
查看>>
【jQuery Demo】图片由下至上逐渐显示
查看>>
merge into ORA-30926
查看>>
在.NET中使用SMTP发送邮件
查看>>
Lambda表达式的前世今生
查看>>
Unity Camera的两种模式
查看>>
3.5. Ticket
查看>>
越狱第一至五季/全集迅雷下载
查看>>
从Mysql slave system lock延迟说开去
查看>>
归并排序
查看>>
RecyclerView的下拉刷新和加载更多 动画
查看>>
ABAP常见面试问题
查看>>
程序猿是如何解决SQLServer占CPU100%的
查看>>
web.xml
查看>>
HBase-1.2.4LruBlockCache实现分析(一)
查看>>
SDN交换机在云计算网络中的应用场景
查看>>