mybatis注入Date日期值為null的解決方法
在今天的一次代碼編寫中,突然遇到了一個奇怪的問題,在使用mybatis進行Date類型插入時,可以很順利的就插入進數據庫中了,可是當我想從mysql中取出Date類型的值注入java中的Date類型時,發現傳遞過來的值是空的,但是不管是映射還是命名規范都是正確的,就非常的奇怪。
數據庫設計:
映射類的設計:
@Datapublic class BorrowTime { //借書時間 private Date borrowTime; //過期時間 private Date expiredTime;}
mapper類:
@Select('SELECT borrow_time,expired_time FROM book_user WHERE bid IN (SELECT bid FROM book_user WHERE uid =#{uid})') public List<BorrowTime> findBorrowTime(Integer uid);
查詢出來的值卻是這樣的:
在網上搜索了很多的資料,試了很多種方法都沒有效果,突然想到mybatis在進行查詢的時候可以自動的配置對應的映射property,于是便去mapper中試了一下:
@Select('SELECT borrow_time,expired_time FROM book_user WHERE bid IN (SELECT bid FROM book_user WHERE uid =#{uid})') @Results({ @Result(column = 'borrow_time',property = 'borrowTime'), @Result(column = 'expired_time',property = 'expiredTime') }) public List<BorrowTime> findBorrowTime(Integer uid);
手動的去將每一個columns和Property對應,然后再去查詢
終于出現了想要的結果,所以可能是映射字段的問題還是其他的問題還有待以后查證。
到此這篇關于mybatis注入Date日期值為null的解決方法的文章就介紹到這了,更多相關mybatis注入Date日期值為null內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: