一、Mybatis去前、後綴
問題:當前端請求時報錯數據庫語法錯誤,定位到具體sql語句or;
問題分析:通過報錯日誌定位到具體sql語句,發現是sql拼接問題;在mapper.xml文件中編寫動態sql時會有條件判斷拼接sql,當前端一個參數爲空時,後臺sql語句拼接就成了and or,顯然語法錯誤,中間少了字段;
解決:把條件裏的or...改成了...or,這樣還是會有一個問題就是最後會帶有一個or,然後使用suffixoverride="or"去掉後綴成功解決該問題。
二、參數類型踩坑
問題:項目有兩個重載方法,參數類型不一樣,一個是Object類型,一個是int類型,當傳入Integer類型的時候,返回了錯誤的結果;
問題分析:通過debug調試發現,傳入的是Integer對象類型,而Object是超類,所以調的是參數類型爲Object的方法,所以沒有返回正確的結果;
解決:在傳入Integer對象類型前強制類型轉換爲int型。
三、Spring系列常用註解底層實現
四、Java8新特性Stream的使用