java 数据库查询Date类型字段 没有了时分秒 全为 00 的解决办法
2013-11-13 13:41
369 查看
数据库查询时间没有了时分秒的解决办法
问题出处,公司一个项目中使用动态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(*)即可正常显示
方案二、
增加服务器/Java应用的虚拟机参数:-Doracle.jdbc.V8Compatible=“true”
问题出处,公司一个项目中使用动态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(*)即可正常显示
方案二、
增加服务器/Java应用的虚拟机参数:-Doracle.jdbc.V8Compatible=“true”
相关文章推荐
- java中的Cloneable和Serializable接口,实现浅克隆和深度克隆
- 用Ant实现Java项目的自动构建和部署
- Myeclipse快捷键大全
- 注册码 myeclipse6.5-6.8
- Java线程池使用
- 原始 java 载入数据源 JNDI及直连
- java中String字符串的替换函数:replace与replaceAll的区别
- JSON、XML、JAVABEAN相互转化
- java知识学习笔记---jmap,jstack,jstat
- Java装饰模式
- java 判断密码强度
- java 已知两个地点经纬度算距离(非常精确)
- Eclipse 生成带中文注释的GetSet方法
- Emma 覆盖率工具利用(Eclipse Maven Ant)
- javaee添加验证码
- 转:eclipse载入extjs4出现内存溢出错误的解决方法
- java 9*9乘法表
- struts的上传和下载
- Java中的线程(六)- Guarded Suspension 模式
- Spring事务传播机制说明