java spring jdbc Oracle DATE 類型讀取時沒有時分秒問題及解決方案

問題出處,公司一個項目中使用動態sql方式查詢Oracle數據庫,在展現時Date類型字段只展現日期,無時分秒。java

分析:sql

一、衆所周知Oralce的日期類型有不少種,Date ,Timestamp等。其中Date類型對用的是java.sql.Date類型,Timestamp對用的是java.sql.Timestamp類型。這兩個類型均繼承自java.util.Date,其中java.sql.Date是沒有時分秒的你們能夠查看一下javaApi數據庫

二、ResultSet 的getObject(*)方法對用Date類型默認返回的是java.sql.Date繼承

三、網上不少人提供的解決方案是將數據庫Date類型改成Timestamp類型,顯示當中數據庫類型DBA是不會容許你改動的,且Oracle中對於時分秒要求不嚴格的地方DBA反而是建議用Date而不用Timestamp以節省資源資源

四、ibatis的ResultMap中對Date類型指定爲Timestamp卻可以正常顯示get

通過一番思考後發現對用Date類型的字段使用rs.getTimestamp(*)便可正常顯示方法

在此記錄一下,之後遇到此類問題避免說該數據庫類型這種讓人笑掉大牙的話im

相關文章
相關標籤/搜索