json 得到时分秒为00:00: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”

时间: 2024-11-24 09:31:43

json 得到时分秒为00:00:00,拿不到时分秒 解决办法的相关文章

JSON.NET的Self referencing loop detected with type的原因以及解决办法

模型中有循环引用是很常见的.例如,以下模型显示双向导航属性: 1: public class Category 2: { 3: public Category() 4: { 5: Products = new Collection<Product>(); 6: } 7: 8: public int Id { get; set; } 9: public string Name { get; set; } 10: public virtual ICollection<Product>

Bentley GeoStructural Finite Element Analysis(FEM) v17.00.33.00 1CD

Systat.PeakFit.v4.12.00 1CD Autodesk.CADDoctor.For.Autodesk.Simulation.v2015.Win64-ISO 1DVD Autodesk.Vault.Basic.v2015-ISO 1DVD Autodesk.Vault.Workgroup.v2015-ISO 1DVD Command.Digital.AutoHook.2015.v0.8.0.60.beta.1 1CD OmniCAD.v1.0.0.2125.for.Siemens

类似于1.0-0.8=0.19999999999999996的解决办法

这个帖子有解决办法:http://blog.csdn.net/shenshen123jun/article/details/8957421 import java.math.BigDecimal; public class Test20150515 { public static void main(String[] args) { //System.out.println(1.0-0.8); System.out.println(new BigDecimal("1.0").subtr

获取凌晨00:00:00的时间

$start_time = strtotime(date('Y-m-d 00:00:00', time())); $end_time = $start_time+86400; dump(date('Y-m-d h:i:s',$start_time)); dump(date('Y-m-d h:i:s',$end_time)); 获取凌晨00:00:00的时间,布布扣,bubuko.com

日期赋值为: 0000:00:00

datetime dt setnull(dt) dwo.object.date[1]=dt日期赋值为: 0000:00:00,布布扣,bubuko.com

Cannot convert value &#39;0000-00-00 00:00:00&#39; from column 1 to TIMESTAMP解决办法

在Mysql数据库中使用DATETIME类型来存储时间,使用JDBC中读取这个字段的时候,应该使用 ResultSet.getTimestamp(),这样会得到一个java.sql.Timestamp类型的数据.在这里既不能使用 ResultSet.getDate(),也不能使用ResultSet.getTime(),因为前者不包括time数据,后者不包括date数据. 但是在使用ResultSet.getTimestamp()时也不是完全安全的,例如,当数据库中的TIMESTAMP类型的字段值

Bentley STAAD Planwin 14.00.05.00 1CD建筑结构设计

Bentley STAAD Planwin 14.00.05.00 1CD建筑结构设计STAAD.Pro 是结构工程专业人员的最佳选择,可通过其灵活的建模环境.高级的功能和流畅的数据协同进行涵洞.隧道.桥 梁.石化工厂.桥墩等几乎任何设施的混凝土结构.木结构.钢结构.铝结构和冷弯型钢结构设计.STAAD.Pro集成了 STAAD.Foundation 设计模块. 1.Bentley STAAD Planwin 14.00.05.00 1CD建筑结构设计Bentley STAAD Planwin

Java 获取各时区时间,获取当前时间到格林威治时间1970年01月01日00时00分00秒的秒数

格林威治时间即UTC/GMT时间,1970年01月01日00时00分00秒(即UTC+8的北京时间1970年01月01日08时00分00秒)计算代码如下: 1 /** 2 * 获取指定时间到格林威治时间的秒数 3 * UTC:格林威治时间1970年01月01日00时00分00秒(UTC+8北京时间1970年01月01日08时00分00秒) 4 * @param time 5 * @return 6 */ 7 public static long diffSeconds(String time){

回忆5月21日9:00~21:00于橘园洲工业区举行了福州市第一届黑客马拉松活动

5月21日9:00~21:00于橘园洲工业区举行了福州市第一届黑客马拉松活动,参加活动的大多是在IT行业浸淫多年的前辈,活动的形式就是将参与者分为组,分别是算法.性能测试.信息安全.Android.产品经理和web VR方向.探讨时间为12个小时,要求写出项目方案并拿出成果. 作为志愿者的我被允许自由走动,观摩各个小组的大概进程.算法方向的小组用一些核心代码编制了一个人脸识别系统,性能测试小组在虚拟机搭建的LINUX系统环境下利用一款软件测试模拟博客访问的抗压能力(并发性),Android小组比