ORA-00971: 缺失 SET 關鍵字 ; bad SQL grammar [];
阿新 • • 發佈:2018-12-17
原因:
開始一直糾結是不是多了一個空格,導致異常的發生!
結果:
解決思路:
1、去掉空格還是 跑異常,網上的答案是xml配置不正確,確定比較了半小時的xml檔案《set》標籤使用方法是正確的,並且是複製貼上過來的,還不行
2、猜測是tomcat快取,去tomcat webapp檔案加下面查詢xml檔案是不是已經 是最新的,已經是最新的了確定
3、重啟tomcat,除錯還是拋異常。
4、猜測是tomcat快取未知原因導致的,重新發布再次重啟,除錯還是拋異常
5、冷靜下來,用svn去比較,沒有涉及到 符號之類的修改。判斷幾個原因
(1)控制檯的提示不一定準確,可能是其他原因導致的
(2)方法傳入的引數是不是到xml檔案中是空呢
(3)再不行的話只能是換一個tomcat因為在進xml檔案前的方法中 變數都是有值的
(4)xml變數型別不正確
(網上答案,點醒了我[該方法是自動生成的,一般情況下是不可能會型別錯誤的,
我一一比較了每個變數的型別,數值和string型別都不會拋異常],可能是java方法的變數名相似,導致傳入到xml檔案中是null)
處理:檢視service方法中的程式碼 果然是 Order實體類有2個,變數名 一個是order 一個是orderinfo.
總結:變數名命名 一定要 好區分。否則自己都會被自己“”“欺騙”!自信滿滿,導致查詢bug的路途更加遙遠