Mybatis - xml文件标签中能不能写注释? ? ?

1.错误场景. ( /* */ 注释 )

IDEA中      ==>>       标签内       ==>>      Ctrl + Alt + / 注释.


2.异常信息: ( 注释也会被执行 )

执行打印出来的SQL语句如下: select id,name from user /* limit ?,? */

Caused by: java.sql.SQLException: Parameter index out of range (4 > number of parameters, which is 3).
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
	at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3327)
	at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3312)
	at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3351)
	at com.mysql.jdbc.PreparedStatement.setNull(PreparedStatement.java:3390) 

3.异常分析. ( 使用/* */注释 )

①SQL语句中会拼接上注释的内容.
      select * from user /* 注释内容 */

②注释中有#{},mybatis仍旧会把#{ }算成一个带注入的参数.

 

4.解决办法. ( 可以写注释. )

规范写法:


故: xml文件中的注释不能是 /**/,要不然就会报出上面的错误信息,只能以<!开头,和 > 结尾

你可能感兴趣的:(项目开发走过的坑)