2014年2月1日 星期六

mybatis - INSERT NULL VALUE時出現:Cause: java.sql.SQLException: Unsupported SQL Type 1111


(這篇拖超久的了,都有點忘記,以後還是要趕快遇到問題馬上筆記啊!!!)

參考:mybatis 需要注意的点 MyBatis 插入空值时,需要指定JdbcType (201

問題:
 INSERT NULL VALUE時出現:Cause: java.sql.SQLException: Unsupported SQL Type 1111...的錯誤

解答:

原先mapper.xml如下:

    
   INSERT INTO MI_JCCKMPFD_MON (POST_YYYYMM, MERCH_ORG,MERCH_ID,GRANT_DATE) 
   VALUES ( #{_POST_YYYYMM}, #{_MERCH_ORG},  #{_MERCH_ID} , #{_GRANT_DATE}
    )
  
檢查了下語法,唯一會insertNull的就是GRANT_DATE 這個column,依照參考資料,在insert時加上指定jdbcType如下:
    
   INSERT INTO MI_JCCKMPFD_MON (POST_YYYYMM, MERCH_ORG,MERCH_ID,GRANT_DATE) 
   VALUES ( #{_POST_YYYYMM}, #{_MERCH_ORG},  #{_MERCH_ID} , #{_GRANT_DATE,jdbcType=DATE}
    )
  

就可以解決問題了~
(詳細說明可看參考網址)
但話說這個錯誤訊息實在很不明顯啊...什麼1111...

沒有留言:

張貼留言