java spring jdbc Oracle DATE 类型读取时没有时分秒问题及解决方案
2013-12-27 11:53
1656 查看
问题出处,公司一个项目中使用动态sql方式查询Oracle数据库,在展示时Date类型字段只展示日期,无时分秒。
分析:
1、众所周知Oralce的日期类型有很多种,Date ,Timestamp等。其中Date类型对用的是java.sql.Date类型,Timestamp对用的是java.sql.Timestamp类型。这两个类型均继承自java.util.Date,其中java.sql.Date是没有时分秒的大家可以查看一下javaApi
2、ResultSet 的getObject(*)方法对用Date类型默认返回的是java.sql.Date
3、网上很多人提供的解决方案是将数据库Date类型改为Timestamp类型,显示当中数据库类型DBA是不会允许你改动的,且Oracle中对于时分秒要求不严格的地方DBA反而是建议用Date而不用Timestamp以节省资源
4、ibatis的ResultMap中对Date类型指定为Timestamp却能够正常显示
经过一番思考后发现对用Date类型的字段使用rs.getTimestamp(*)即可正常显示
在此记录一下,以后遇到此类问题避免说该数据库类型这种让人笑掉大牙的话
分析:
1、众所周知Oralce的日期类型有很多种,Date ,Timestamp等。其中Date类型对用的是java.sql.Date类型,Timestamp对用的是java.sql.Timestamp类型。这两个类型均继承自java.util.Date,其中java.sql.Date是没有时分秒的大家可以查看一下javaApi
2、ResultSet 的getObject(*)方法对用Date类型默认返回的是java.sql.Date
3、网上很多人提供的解决方案是将数据库Date类型改为Timestamp类型,显示当中数据库类型DBA是不会允许你改动的,且Oracle中对于时分秒要求不严格的地方DBA反而是建议用Date而不用Timestamp以节省资源
4、ibatis的ResultMap中对Date类型指定为Timestamp却能够正常显示
经过一番思考后发现对用Date类型的字段使用rs.getTimestamp(*)即可正常显示
在此记录一下,以后遇到此类问题避免说该数据库类型这种让人笑掉大牙的话
相关文章推荐
- JDBC读取Oracle DATE类型数据没有时分秒
- oracle 索引字段包含date类型,使用spring jdbc更新时不走索引,而是走table access full的问题
- java中显示ORACLE中的DATE类型的时分秒的问题
- 关于Java读取mysql中date类型字段默认值'0000-00-00'的问题
- 关于Java读取mysql中date类型字段默认值'0000-00-00'的问题
- Hibernate连接Oracle的Date类型字段丢失时间问题(解决方案)
- 关于Java读取mysql中date类型字段默认值'0000-00-00'的问题
- 关于java获取Oracle中date类型字段问题
- oracle 存储过程中date类型变量声明中to_date赋值丢失时分秒问题
- Oracle Date类型字段使用Hibernate插入后没有时分秒的解决
- 插入数据时,保存的date类型时间字段的数据只有年月日,没有时分秒的问题
- “Oracle 9i/Oracle 10g” 查询 参数java.util.date 性能慢的问题和解决方案
- 关于Oracle10g驱动date类型没有时分秒问题
- Oracle10g JDBC ojdbc14 DATE类型Spring查询时分秒问题
- 查询Oracle中 date类型, 没有 时分秒
- java 取得oracle date 没有时分秒
- hibernate 中使用oracle数据库 与java Date数据类型 只显示到天 不显示时分秒的问题
- Hibernate3.0 数据库存储Date类型没有时分秒问题
- 关于spring boot整合mybatis使用oracle数据库出现could not load:oracle.jdbc.driver.OracleDriver问题的终极解决方案
- spring+mybatis整合时占位符无法读取jdbc.properties的问题