1. 程式人生 > >java.sql.SQLException: Parameter index out of range

java.sql.SQLException: Parameter index out of range

最近一個物聯網專案中遇到了java.sql.SQLException: Parameter index out of range的個問題.記下來:

模糊查詢報錯:

​java.sql.SQLException: Parameter index out of range ....
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) ~[mysql-connector-java-5.1.34.jar:na]
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988) ~[mysql-connector-java-5.1.34.jar:na]
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974) ~[mysql-connector-java-5.1.34.jar:na]
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919) ~[mysql-connector-java-5.1.34.jar:na]
	at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3805) ~[mysql-connector-java-5.1.34.jar:na]
	at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3787) ~[mysql-connector-java-5.1.34.jar:na]
	at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4608) ~[mysql-connector-java-5.1.34.jar:na]
	at
.
.
.

 

原因是sql語句錯誤.

 將

<if trip_bind="trip_no != null">  
         TRIP_NO like '%#{trip_no}%'

改為:

<if trip_bind="trip_no != null">  
      TRIP_NO like CONCAT('%','${trip_no}','%' ) 

問題解決.