Mybatis 传入数组参数

在Mybatis中遇到传入数组或List作为参数时,由于Mybatis会将数组转换为Map,默认键为'array'。如果不加@Param注解,会导致SQL查询出错。本文详细介绍了如何通过使用@Param来指定自定义参数名,避免因参数映射不清造成的错误,确保多参数情况下正确执行查询操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录使用Mybatis遇到的问题

1.在使用mybatis传入数组或者list集合类型的参数时 如果要用自己的参数名必须要加@param。如下`
在这里插入图片描述
在mybatis中如果传入数组类型的参数。myabtis会把数组转成Map,而这个map的key是array ,value 则是数组里面的值。Map<array,value>.
所以如果不加@Param那么只能如下写sql。
在这里插入图片描述
在这里插入图片描述
。如果不加@Param。用自己的变量名ids 在sql片段里面。Mybatis会报错。说找不到参数名ids。
总结:@param。就是指定自定义的参数名,以免在多参数的情况下mybatis不知道哪个参数对应哪一个。而本文中的数组参数找不到。是因为传入数组时 默认的就是array。如果不想用array。就得加@Param指定参数名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值