zoukankan      html  css  js  c++  java
  • java 数据库查询Date类型字段 没有了时分秒 全为 00 的解决办法

    数据库查询时间没有了时分秒的解决办法
        
        问题出处,公司一个项目中使用动态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” 
  • 相关阅读:
    TOMCAT清理
    tomcat 热部署、热加载 精析
    TOMCAT配置数据库连接池
    TOMCAT修改端口号
    TOMCAT配置管理员
    Go语言net/http 解读.
    《coredump问题原理探究》Linux x86版7.7节 set对象
    Asp.net与office web apps的整合
    【设计模式】代理模式实现连接池
    手把手实现Java权限(1)-Shiro介绍
  • 原文地址:https://www.cnblogs.com/lidabo/p/2950107.html
Copyright © 2011-2022 走看看