oracl.sql.Timestamp转java.util.Date

 

借助basicName获取timestamp字段,MySQL返回java.sql.Timestamp,而Oracle返回oracle.sql.Timestamp;

timestampValue继承了java.util.Date,所以可以借此来讲oracle中的timestamp字段在jdbc的获取方式下,转换为util下的Date类并格式化,then done!
/**
     * 转换映射表映射值
     * 
     * @param obj
     *            转换对象
     * @param dataType
     *            转换类型 1-字符串;2-小数;3-整型;4-日期时间
     * @param dataFormat
     *            转换格式
     * @param jsonMap
     *            映射数据
     * @return
     * @throws SQLException
     */
    private Object transferMappingValues(Object obj, int dataType, String dataFormat, Map<String, String> jsonMap)
        throws SQLException {
        // 1.判断类型;2.转换格式;3.取关联值
        String basicName = obj.getClass().getSimpleName();
        switch (dataType) {
            case 1:
            case 3:
                // 字符串,整型:不需转格式
                break;
            case 2:
                // 小数,默认不截取
                if (obj == null || "".equals(obj)) {
                    // 数据库无值且无默认值,赋值0
                    return 0;
                }
                if (!StringUtil.isNullOrEmpty(dataFormat)) {
                    int decimal = Integer.parseInt(dataFormat);
                    if (decimal >= 0) { 
                        String format = String.format("%.0" + decimal + "f", Double.parseDouble(obj.toString()));
                        obj = (StringUtil.isNullOrEmpty(format) ? obj : Double.parseDouble(format));
                    }
                }
                break;
            case 4:
                // 日期时间
                if (obj == null || "".equals(obj)) {
                    // 数据库无值且无默认值,赋值‘’
                    return "";
                }
                if ("Date".equals(basicName)) {
                    if (!StringUtil.isNullOrEmpty(dataFormat)) {
                        obj = new SimpleDateFormat(dataFormat).format(obj);
                    }
                }
                // mysql
                if ("Timestamp".equals(basicName)) {
                    Date date = (Timestamp)obj;
                    if (!StringUtil.isNullOrEmpty(dataFormat)) {
                        obj = new SimpleDateFormat(dataFormat).format(date);
                    }
                }
                // oracle
                if ("TIMESTAMP".equals(basicName)) {
                    TIMESTAMP t = (TIMESTAMP)obj;
                    Date date = t.timestampValue();
                    if (!StringUtil.isNullOrEmpty(dataFormat)) {
                        obj = new SimpleDateFormat(dataFormat).format(date);
                    }
                }
                break;
            default:
                break;
        }
        return jsonMap.get(obj + "") == null ? StringUtil.getObjectByDataType(obj) : jsonMap.get(obj + "");
    }

 

转载于:https://www.cnblogs.com/huakaiyoushi/p/11249424.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值