Mybatis框架Mapper接口多参数不使用@Param注解标注,在高版本Idea可正常运行,低版本则报错的问题

本文探讨了在不同版本的IntelliJ IDEA中,使用Mybatis-Plus时出现的参数未找到问题。在低版本Idea中,未使用@Param注解会导致编译错误,而在高版本由于默认开启-parameters编译选项,可以省略此注解。问题源于Java编译器参数设置,高版本更利于参数名保留。
摘要由CSDN通过智能技术生成

项目环境:
SpringBoot(2.1.7.RELEASE)+Mybatis-Plus(3.3.1.tmp)

问题:
同一项目,相同Jdk版本(1.8.0_101),相同Maven版本(3.3.9),同事的Idea版本(2017.09)本地运行项目,访问接口报错[Parameter ‘XXXXXX’ not found. Available parameters are [arg2, arg1, arg0······]],原因是接口中调用的Mapper接口方法中的参数没有使用@Param注解标注参数,而我的Idea版本(2020.01)则可以正常访问无异常。

原因:
高版本的Idea配置Java Compiler 默认在编译时添加了 -parameters 选项,而低版本则没有。
Idea编译配置
深入思考:
为何编译时如果添加 -parameters 这个选项,就可以省略@Param注解呢?

这个问题,其实网上已经有小伙伴研究的很透测了,我就不多写了。

附链接:https://blog.csdn.net/u011821334/article/details/101763001

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值