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

相关文章
相关标签/搜索