java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).

今天在使用ssm框架写mapper和数据库对接的时候出现了这个问题
原SQL:

SELECT admin.gly_name,admin.gly_email,admin.gly_tel,admin.gly_id ,permission.qx_name as role from admin,permission WHERE admin.gly_name LIKE’#{name}%’ AND admin.qx_id=
permission.qx_id

在使用LIKE关键字模糊查找的时候,参数需要使用LIKE '${name}'而不能使用#{name},
${name}'和#{name}区别:
#{name}解析后会产生一个单号,和JDBC里面的PreparedStatement的用法啊一样,向上面这种用法就会报错,
${name}解析后会把参数直接拼接到SQL里面,有Sql注入的风险

你可能感兴趣的:(mybatis)