MyBatis-Plus遇org.apache.ibatis.type.TypeException:参数索引越界解决
MyBatis模糊查询参数索引越界问题解决
报错信息
无法为映射设置参数:ParameterMapping{property='title', mode=IN, javaType=class java.lang.String, jdbcType=VARCHAR, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}。原因:org.apache.ibatis.type.TypeException:为JdbcType VARCHAR的参数#2设置非空值时出错。请尝试为此参数设置不同的JdbcType或不同的配置属性。原因:java.sql.SQLException:参数索引超出范围(2 > 参数数量,即1)。
错误代码
WHEN title LIKE '%#{title}%'
正确代码
WHEN title LIKE CONCAT('%',#{title},'%')
问题原因
直接在字符串中嵌套#{title}会导致MyBatis解析参数时出现索引越界,需使用CONCAT函数拼接模糊查询字符串。
内容的提问来源于stack exchange,提问作者李展鹏
相关产品推荐
相关产品推荐

