mybatis接口传入多个入参问题

实际项目开发时,经常会遇到mybatis的接口需要多个入参的情况,但是由于可能参数只有两三个,不愿意把这些参数封装成一个对象,这时就面临着参数直接传入的情景。这时如果按照下面写法,会报错误:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'projectId' not found. Available parameters are [0, 1, param1, param2]

解决方案:

(1)给dao接口的入参添加注解

单个参数,如果构建动态SQL有<if>标签判断,也需要在dao接口入参上加上注解:@Param,不然会报没有set

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'parameter' in 'class java.lang.String'

(2)对应的的xml文件的sql语句中,采用参数序号来表示,0代表第一个参数,1代表第二个参数,,,,(以此类推)

(3)dao接口的入参更改为map

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值