SQL查询报错Parameter index out of ra

2017-10-10  本文已影响0人  dengcaiyun01

报错信息为:

### 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  即可。

上一篇下一篇

猜你喜欢

热点阅读