好記性不如爛筆頭

概述:用來記錄平時碰到的問題。

 

1.導包錯誤
    問題:一直報找不到寫了SQL語句的.xml文件,明明文件都放在了正確的地方。

 

    原因:導包錯誤,包括註解、繼承類的導包等。因爲Eclipse的自動聯想功能,很多時候就是直接回車,沒有注意導入包的路徑,再加上IDE裏面默認把import都收了起來,所以浪費了些時間。

 

2.mybatis的resultMap中的jdbcType的值要大寫
    問題:好像是tomcat啓動階段就報錯了

 

    原因:因爲mysql默認是大小寫不敏感,所以我一開始想當然的以爲jdbcType也大小寫不敏感,然後就被教做人了。

 

    延伸:MySQL在Linux下數據庫名、表名、列名、別名大小寫規則是這樣的:
        a.數據庫名與表名是嚴格區分大小寫的;
        b.表的別名是嚴格區分大小寫的;
        c.列名與列的別名在所有的情況下均是忽略大小寫的;
        d.字段內容默認情況下是大小寫不敏感的。

 

3.用Navicat從Excel導入數據時的問題
    問題:從Excel導入的數據中,有一列數據是由數字+字母組成的,導入數據庫中以後,除字母E以外的字母都被剔除了
   
    可能的原因:一開始建表的時候,該字段被我設置成了int類型,後來重新建表,還是一樣的問題,後來不小心把navicat關了,再打開導入數據,問題解決。所以推測原因是navicat出了點小問題(平時我的navicat開得久了也會報內存地址xxxx無法訪問的警告),雖然後來改了數據庫字段,但是導入的時候,那一列的數據還是被當成了int來導入,字母E應該是被當作了科學記數法的E才得以保留。重啓大法好。

 

4.用fastjson將List解析成String時,List的值變成了地址
    問題:同一個List中的兩個元素,元素中某個List變量是由同一個List賦值的,導致解析出的字符串的值是形如"$ref.xxx"的形式而不是具體的值。

 

    原因:fastjson的引用檢測導致的,重複引用和循環引用都會導致這個問題,可以關掉:

JSON.toJSONString(list, SerializerFeature.DisableCircularReferenceDetect);

 

 

 

 

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