Parameter index out of range (3 > number of parameters, which is 2). at org.

先看代码

	<!-- 查询每天新增总数 -->
	<select id="selectUserCountDaily" parameterType="CustomerUser" resultType="map">
		SELECT DATE(create_time) AS date, COUNT(*) AS sum
		FROM tb_customer_user
		WHERE 1 = 1
		<if test="shopId != null and shopId != ''">
			AND shop_id = #{shopId}
		</if>
		<if test="params.day != null and params.day != ''"><!-- 查询天数 -->
			AND create_time >= CURDATE() - INTERVAL #{params.day} DAY
		</if>
-- 		and create_time >= CURDATE() - INTERVAL #{params.day} DAY
		GROUP BY DATE(create_time)
		ORDER BY date ASC;
	</select>

原因:

-- 		and create_time >= CURDATE() - INTERVAL #{params.day} DAY

这行代码,我是ctrl + / 快捷注释的,代码编译器是灰色显示,我以为已经是注释掉了,然而 

我们在mapper.xml文件中写动态sql,如果在条件中使用了错误的注释,他也会把注释的内容当成参数,意思是要3个参数,3个占位符,但是就传了2个参数值过来,只要把那个注释去掉就可以。 

参考文章:Parameter index out of range (3 > number of parameters, which is 2)._parameter index out of range (3 > number of parame-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值