MyBatis--参数名

关于MyBatis参数名的解释:
在mybatis的配置里,默认情况下,是启用自然参数名的,如下图:

也就是说,你无需加@Param注解,它默认就按照参数名与表达式匹配。如果你加了@Param注解,那么就会覆盖掉这个参数名。
在对参数名称处理的层面,mybatis有2种机制,如下图:

å¾ç说æ

1是自然参数名,2是自动生成的参数名。mybatis会按照参数的顺序,给每个参数生成一个名字,分别是param1, param2 ...,所以在表达式里,你使用索引或者注解都能访问到这个参数。mybatis的官方手册,对这方面介绍的比较笼统,不够详尽。大家可以跟踪源码,看一下它底层实际的逻辑。
以上,是针对多个参数的情况。你的方法有多个参数时,mybatis会创建一个Map来封装这些参数,Map的key就是自然参数名,以及生成的参数名,都有。如果你的方法只有一个参数,它就不创建Map,而是直接获取这个参数的值,来替换sql中唯一的表达式,此时它不关注你的参数是什么名字,也不会使用这个名字。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值