在使用Oracle数据库时,把Timestamp类型的字段查出来显示到界面上居然是一串数字,不符合我们常见的要求,我就查了一下,发现中间还有很多道道,Oracle查出来的Timestamp类型和java里边的Timestamp类型不是同一种类型,在java后台转化不了,所以只能另辟蹊径。
就想到了用Oracle中的Timestamp类型接收,然后转化,下来看具体实现方法:

package com.sql.csv.db2csv.service;import com.sql.csv.common.Const;
import com.sql.csv.mapper.oracle.IOracleDao;
import com.sql.csv.util.CsvWriter;
import lombok.extern.slf4j.Slf4j;
import oracle.sql.TIMESTAMP;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
import java.nio.charset.Charset;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.*;@Service
@Slf4j
public class Db2csvService {private void 省略...() {String time = getStringValue(map.get("time"));}private String getStringValue(Object obj) {if(null == obj){return "";}else if(obj instanceof  byte[]){return new BASE64Encoder().encode((byte[])obj);//new BASE64Decoder().decodeBuffer(String base64)}else if(obj instanceof oracle.sql.TIMESTAMP){Timestamp timestamp = getOracleTimestamp(obj);String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").format(timestamp);return time;}return obj.toString();}
//运用反射调用Oracle中Timestamp的方法,进行处理private Timestamp getOracleTimestamp(Object value){try{Class clz = value.getClass();Method method = clz.getMethod("timestampValue",null);//System.out.println("11----->" + clz.getMethod("timestampValue",null).invoke(value,null));//System.out.println(clz.getMethod("timeValue",null).invoke(value,null));//System.out.println(clz.getMethod("dateValue",null).invoke(value,null));return (Timestamp)method.invoke(value,null);}catch(Exception ex){ex.printStackTrace();return null;}}}

Oracle中Timestamp类型字段查询结果格式化处理相关推荐

  1. ORACLE中date类型字段的处理

    ORACLE中date类型字段的处理 (1)在英文版本的ORACLE中默认日期格式为'DD-MON-YY',例如'01-JAN-98' 在汉化的中文版本中ORACLE默认日期格式为'日-月-年',例如 ...

  2. Oracle中Number类型字段使用.netTiers和CodeSmith问题的解决方案

    在oracle中字段类型为Number(m, n)时,使用codesmith+.nettiers模板生成代码,发现m和n值被指定值后,访问数据时引发数据类型转换异常.目前的解决方案是,仅指定数据类型为 ...

  3. oracle 存long,ORACLE中LONG类型字段的存取

     Oracle中存取4000字节以上大文本类型可以用此数据类型,其在C#中的读写方法如下: 注意需要引用 System.Data.OracleClient 然后添加命名空间:using Syste ...

  4. oracle中varchar2类型的字段长度单位默认是按照byte来定义

    1.背景 使用oracle时,会这样忽略一个问题:oracle中varchar2类型的字段长度单位不指定类型时,按照byte来定义. 如果数据库使用的字符集是GBK,GB2312或者其他定长字符集的话 ...

  5. oracle补齐字段,Oracle中CHAR类型自动补足空格的问题

    Oracle中CHAR类型自动补足空格的问题以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在ORACLE中 CHAR类 ...

  6. 使用JPA获取Oracle中的日期字段丢失时分秒

    2019独角兽企业重金招聘Python工程师标准>>> 使用JPA获取oracle中的日期字段发现没有时分秒,因为之前没有关注过这个字段, 最近由于需要,却发现时分秒奇怪的丢失.   ...

  7. Oracle中CHAR类型不足位数时,用空格自动补足位数

    在今天开发过程中,发现了一查询结果很怪异,一GOOGLE下才知道是ORACLE对CHAR类型处理的问题,在ORACLE中对CHAR的处理是自动添加空格,比如char(8)存储'2007-11',则在后 ...

  8. MYSQL中TIMESTAMP类型的默认值

    MYSQL中TIMESTAMP类型的默认值    MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 1.自动UPDATE 和INSERT 到当前的时间: 表: ---------- ...

  9. linux mysql timestamp_MYSQL中TIMESTAMP类型的使用

    MYSQL中TIMESTAMP类型的默认值 MYSQL中TIMESTAMP类型可以设定默认值,就像其他类型一样. 1.自动UPDATE 和INSERT 到当前的时间: 表: ------------- ...

最新文章

  1. Django 的缓存机制
  2. 中国联通SDN/NFV的思考与实践
  3. 网络体系架构—运输层协议概述
  4. 东八区转为0时区_初中会考重要知识点:地理时区计算技巧全掌握
  5. 1 TB /节点时快速,可预测且高度可用
  6. Windows+Nginx+Tomcat搭建负载均衡和集群环境同时实现session共享(一)
  7. 成为优秀的Java程序员要具备哪些技能?
  8. python字典是什么数据结构_Python常用数据结构——字典
  9. CVPR 2019 | Stereo R-CNN 3D 目标检测
  10. 在vue-cli项目下简单使用mockjs模拟数据
  11. linux java php_Linux PHP 搭建 JavaBridge
  12. html入门圣思园视频,Java Web学习历程-(基于圣思园视频教程)
  13. 从前端到全栈-基础能力-js-异步编程
  14. 清除Windows虚机密码
  15. 历经30年,仍未解决通讯难题,水下机器人是虚假繁荣吗?
  16. 首次登陆系统强制修改密码
  17. 渗透测试-内网横向移动专题
  18. 学习高博SLAM(1)
  19. python如何校验页面元素是否加载完毕_爬虫(八十七)等待页面加载完成(Waits)...
  20. vb.net 教程 3-10 窗体编程 datagridview控件 1 初步

热门文章

  1. Android开发 之 线性渲染 LinearGradient
  2. 演化计算基本方法与思想
  3. 腹肌介绍:肌肉图示和英文名称
  4. c#(winform)将响应的json转换成list集合
  5. Arduino蓝牙智能手机操纵杆,加速度传感器控制汽车
  6. 十八:享元模式(共享重复对象,分离不同对象)
  7. Unity3D射击游戏《全民飞机大战》截图
  8. python sox 修改音频文件采样率
  9. OSChina 周日乱弹 ——收购KFC后,想刷碗就刷碗
  10. TypeError: Cannot read property ‘coord‘ of undefined 解决方法