SQL查询报错Parameter index out of range

报错信息为:

### Cause: java.sql.SQLException: Parameter index out of range (3 > number of parameters, which is 2).

出错的SQL语句为:

 SELECT    count(DISTINCT order_id)   

 FROM    t_lm_seckill_pool   

 WHERE  LOCATE('"gongjijin":"有"',info) > 0 AND              

 (  LOCATE(CONCAT('"zhiye":','"',?,'"'),info) > 0   

or    LOCATE(CONCAT('"zhiye":','"',?,'"'),info) > 0  )     AND    

 LOCATE('"gongzixingshi":?',info) > 0  AND 

sold_state = 0

仔细查看sql语句,出错点在于LOCATE('"gongzixingshi":?',info) > 0。

对应在xml文件中的实现为

LOCATE('"gongzixingshi":#{gongzixingshi,jdbcType=VARCHAR}',info) > 0  

要实现的功能是查询"gongzixingshi":"银行转账"在info字段中是否被包含,

改为:LOCATE(CONCAT('"gongzixingshi":','"',#{gongzixingshi},'"'),info) > 0  即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息。 ======...
    wind_飘阅读 2,115评论 0 5
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,700评论 0 4
  • 文章摘自swungover.wordpress.com This is an index of the basic...
    TravisShout阅读 1,172评论 0 3
  • 世间花叶不相伦,花入金盆叶作尘。 惟有绿荷红菡萏,卷舒开合任天真。 此花此叶常相映,翠减红衰愁杀人。
    一谙其优阅读 188评论 1 7
  • 【二】两情并不相悦 在寒冬结束后,就会迎来暖春,一想到灏子,好像觉得春天里的花儿都开了,满面春风,总是情不自禁地傻...
    少年阿段阅读 488评论 0 0