不想用@Param修饰,但是希望在xml中用方法中的原参数名称接收

本文介绍了如何在不使用@Param注解的情况下,通过Java 8的Parameter类和Maven编译插件配置,使得MyBatis在XML中能直接使用方法参数名。首先,在pom.xml中添加maven-compiler-plugin插件,启用<compilerArgument>-parameters</compilerArgument>选项。接着,更新MyBatis配置,设置<setting name="useActualParamName" value="true"/>。这样,就可以在XML映射文件中直接使用方法参数的原始名称,如#{dogName}和#{age},而无需注解辅助。
摘要由CSDN通过智能技术生成

不想用@Param修饰,但是希望在xml中用方法中的原参数名称接收
我们在jdk不能使用反射获取参数名称,但是在jdk1.8之后提供了Parameter这个反射类,可以配置-parameter这个参数到javac编译器上,可以用来获取方法参数上的名称,但是javac编译器默认是关闭的,所以我们在编译代码的时候应该打开它,我们用maven插件的方式开启
在:pom文件中加入以下插件:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-compiler-plugin</artifactId>
   <version>3.8.0</version>
   <configuration>
       <compilerArgument>-parameters</compilerArgument>
       <encoding>UTF-8</encoding>
   </configuration>
</plugin>

这样,javac编译器就能将方法的参数在反射编译的时候一同传递了,我们也不用借助注解就能达到在xml中获取方法中的实际参数的名称,除了加入编译插件,还要加入mybatis的配置开启:

<settings>
     <setting name="useActualParamName" value="false"/>
</settings>
1
2
3
官方文档是这样对这个配置说明的&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值