mybatis mapper.xml --注释 带参数的坑
注釋了直接在下面寫了新的sql,注釋的時候一般我都習慣性的選中之后Ctrl+/利用編輯器自帶的自動注釋功能,這個時候編輯器是分兩種情況的:情況一是你之前老的sql沒有類似<where>這樣帶特殊尖括號的語句,這個時候如果用Ctrl+/的話編輯器會用'--'也就是sql語句的注釋去注釋你之前的老sql,注釋完之后編輯器并不會報錯如果比較幸運你之前的語句里沒有參數的話執行也是沒有問題的,但是,注意這個但是,如果你之前的sql語句帶#{xxxx}或者${xxx}這樣的參數,形如下面這樣:
-- #{month,jdbcType=VARCHAR}
那么恭喜你,這個時候執行的話就會報很詭異的異常,類似于下面這樣:
org.springframework.dao.TransientDataAccessResourceException:?
### Error querying database. ?Cause: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
這個時候你可能會和我一樣丈二和尚摸不著頭腦,特別是如果之前么有遇見過這個問題的話,很有可能會在這里搞很久;情況二是你的老sql有<where>這樣的帶尖括號的語句,這個時候你用Ctrl+/的話,會自動是<!-- xxx-->也就是標準的xml注釋,這個時候即使你注釋的xxx包括外部參數占位,執行的時候也不會報錯,形如下面這樣也不會有問題:
<!-- ?#{month,jdbcType=VARCHAR}-->
---------------------?
作者:R先森?
來源:CSDN?
原文:https://blog.csdn.net/beagreatprogrammer/article/details/79262532?
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的mybatis mapper.xml --注释 带参数的坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 领域驱动设计在互联网业务开发中的实践
- 下一篇: UML建模--序列图建模技巧