Java8新特性Stream、Mybatis去前/後綴(2019-10-15)

一、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的使用

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章