今天在使用MyBatis的時候,出現了java.sql.SQLException: Parameter index out of range (4 > number of parameters, which is 3).
異常。
檢查了下代碼,參數都是按需傳入的,好像沒有什么問題。
然后檢查了下日志輸出的SQL語句,如下
INSERT INTO t_user (id, name, age, salary, sex) VALUES (?, ?, ?, # {salary}, ?)
可以看出:# {salary}
沒有被解析為占位符。
再回去檢查mapper xml
文件,發現原來是# {salary}
中多了個空格,把空格去掉,進行測試,就沒有問題了。