zoukankan      html  css  js  c++  java
  • 从数据库中取时间值,报错:java.sql.Timestamp cannot be cast to java.lang.Long

    从数据库中取时间值,报错:java.sql.Timestamp cannot be cast to java.lang.Long


    1、问题描述

    将数据库中的查询到的 timestamp类型的数据,转成 Long类型报错。

    String type = result.getClass().getName();
    if ("java.sql.Timstamp".equalsIgnoreCase(type)) {
          return new Date((Long) result);
    }

    2、解决方案

    因为 java.sql.Timestampjava.util.Date子类

    所以,直接 将 java.sql.Timestamp 转换为 java.util.Date 类型 即可。

    String type = result.getClass().getName();
    if ("java.sql.Timestamp".equalsIgnoreCase(type)) {
        return (Date)result;
    }

    或者将数据转成String类型输出:

    String type = result.getClass().getName();
    
     // 将 Timestamp 类型转换为 String类型(yyyy-MM-dd HH:mm:ss)
     if ("java.sql.Timestamp".equalsIgnoreCase(type)) {
         //java.sql.Timestamp处理逻辑
         return DateUtil.timeToYmdHmsString((Date)result);
    }

    DateUtil 工具类如下:

    public class DateUtil {
    
        private static String defaultYmdHmsPattern = "yyyy-MM-dd HH:mm:ss";
    
        /**
         * 将Date转成 String,格式:yyyy-MM-dd HH:mm:ss
         * @param date 日期类型
         * @return String 日期格式的字符串
         */
        public static String timeToYmdHmsString(Date date) {
            SimpleDateFormat formatter = new SimpleDateFormat(defaultYmdHmsPattern);
            return formatter.format(date);
        }
    }
  • 相关阅读:
    【转】Android——设置颜色的三种方法
    Eclipse Android安装APP时覆盖安装问题
    自定义数组,实现输出改数组的长度、最大值和最小值
    用程序实现对数组a[45,96,78,6,18,66,50]中的元素进行排序
    PHP面试题2
    PHP面试题
    gulp
    移动端base.css
    笔记
    mouseover和mouseout事件在鼠标经过子元素时也会触发
  • 原文地址:https://www.cnblogs.com/miracle-luna/p/15694727.html
Copyright © 2011-2022 走看看