嚴重: Servlet.service() for servlet [appServlet] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='content', mode=IN, javaType=class java.lang.Object, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).] with root cause java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
在MyBatis時,使用LIKE語句出錯:WHERE payed > 0 CONCAT(orderNumber, phone, IFNULL(dorm, ''), IFNULL(room,'')) LIKE '%#{content}%'
從錯誤看,類似數組超界的錯誤,是在解析上面的sql出錯的, '%#{content}%',這里在解析出現的超界錯誤。
所以這個MyBatis的LIKE語句就不正確了,我從網上找到了LIKE的正確寫法:http://happyqing.iteye.com/blog/2172397