Mybatis 出現異常Error querying database. Cause: java.lang.NullPointerException

今天在自己寫一個關於springboot的小Demo時,一直出現Error querying database.  Cause: java.lang.NullPointerException的異常,前前後後仔仔細細檢查也沒找到哪裏會出現空指針的問題,在網上尋找答案又不是所描述的問題,然後就自己琢磨,最後嘗試修改了下圖中jdbcType爲javaType,發現接口是調通了。

 

-------------------------但是,但是,但是,(重要的事情說三遍)------------------------

 

正在竊竊自喜的時候發現返回的數據是這樣的。

MockHttpServletResponse:
           Status = 200
    Error message = null
          Headers = {Content-Type=[application/json;charset=UTF-8]}
     Content type = application/json;charset=UTF-8
             Body = {"message":null,"result":[[{"date":"1300.00","money":1300.00},{"date":"200.00","money":200.00},{"date":"20000.00","money":20000.00},{"date":"100.00","money":100.00},{"date":"20447.00","money":20447.00},{"date":"200.00","money":200.00},{"date":"56977.00","money":56977.00},{"date":"7973.00","money":7973.00},{"date":"48900.00","money":48900.00},{"date":"33425.00","money":33425.00},{"date":"84167.00","money":84167.00},{"date":"9100.00","money":9100.00},{"date":"46700.00","money":46700.00},{"date":"47300.00","money":47300.00},{"date":"25370.00","money":25370.00},{"date":"31000.00","money":31000.00},{"date":"30100.00","money":30100.00},{"date":"10300.00","money":10300.00},{"date":"53600.00","money":53600.00},{"date":"84400.00","money":84400.00},{"date":"9700.00","money":9700.00},{"date":"47960.00","money":47960.00},{"date":"400.00","money":400.00},{"date":"20205.00","money":20205.00},{"date":"22536.00","money":22536.00},{"date":"62660.00","money":62660.00},{"date":"32700.00","money":32700.00},{"date":"18335.00","money":18335.00},{"date":"126082.00","money":126082.00},{"date":"22300.00","money":22300.00},{"date":"108500.00","money":108500.00},{"date":"224200.00","money":224200.00},{"date":"203400.00","money":203400.00},{"date":"164649.00","money":164649.00},{"date":"135010.00","money":135010.00}]],"code":200}
    Forwarded URL = null
   Redirected URL = null
          Cookies = []
--------返回的json = {"message":null,"result":[[{"date":"1300.00","money":1300.00},{"date":"200.00","money":200.00},{"date":"20000.00","money":20000.00},{"date":"100.00","money":100.00},{"date":"20447.00","money":20447.00},{"date":"200.00","money":200.00},{"date":"56977.00","money":56977.00},{"date":"7973.00","money":7973.00},{"date":"48900.00","money":48900.00},{"date":"33425.00","money":33425.00},{"date":"84167.00","money":84167.00},{"date":"9100.00","money":9100.00},{"date":"46700.00","money":46700.00},{"date":"47300.00","money":47300.00},{"date":"25370.00","money":25370.00},{"date":"31000.00","money":31000.00},{"date":"30100.00","money":30100.00},{"date":"10300.00","money":10300.00},{"date":"53600.00","money":53600.00},{"date":"84400.00","money":84400.00},{"date":"9700.00","money":9700.00},{"date":"47960.00","money":47960.00},{"date":"400.00","money":400.00},{"date":"20205.00","money":20205.00},{"date":"22536.00","money":22536.00},{"date":"62660.00","money":62660.00},{"date":"32700.00","money":32700.00},{"date":"18335.00","money":18335.00},{"date":"126082.00","money":126082.00},{"date":"22300.00","money":22300.00},{"date":"108500.00","money":108500.00},{"date":"224200.00","money":224200.00},{"date":"203400.00","money":203400.00},{"date":"164649.00","money":164649.00},{"date":"135010.00","money":135010.00}]],"code":200}

WTF,怎麼分明兩個字段,怎麼兩個字段都映射出金額的數據的?最後的最後,發現問題了,

原來是這個註解搞的鬼,在沒有xml映射實體時,我們可以用這個註解靈活映射,但是在有這個註解的時候,他不再執行xml實體文件了,所以解決辦法:用此註解就不需要xml映射實體了,或者在有xml映射實體的情況下,去除@Mapper註解。其實和jdbcType和JavaType沒關係的。

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