Parameter index out of range (2 > number of parameters, which is 1).原因及处理

1、在运行ssm项目时,报Parameter index out of range (2 > number of parameters, which is 1)异常

2、原因
mapper文件中的动态SQL中select标签中有快捷方式注释的语句

 <select id="findById" parameterType="integer" resultMap="findByIdResultMap">
        select *
        from t_setmeal
        where id = #{id}
         #         SELECT
    #             s.*,c.id gid,c.name gname,c.helpCode ghelpCode,c.code gcode,c.attention gattention,c.sex gsex,c.remark gremark,i.id iid,i.name iname,i.code icode, i.sex isex, i.age iage, i.price iprice, i.type itype, i.attention iattention, i.remark iremark
    #         FROM
    #             t_setmeal s
    #                 LEFT JOIN t_setmeal_checkgroup sc ON s.id = sc.setmeal_id
    #                 LEFT JOIN t_checkgroup c ON sc.checkgroup_id = c.id
    #                 LEFT JOIN t_checkgroup_checkitem cc ON c.id = cc.checkgroup_id
    #                 LEFT JOIN t_checkitem i ON cc.checkitem_id = i.id
    #         WHERE s.id = #{id}
    </select>

3、处理
删除标签中快捷键注释的语句或修改成正确的注释语句

 <select id="findById" parameterType="integer" resultMap="findByIdResultMap">
        select *
        from t_setmeal
        where id = #{id}
 </select>

猜你喜欢

转载自blog.csdn.net/hsuehgw/article/details/127698884