データベース内のタイムスタンプとjava内のタイムタイプ、Stringタイプの変換


java.sql.Timestamp cannot be cast to java.lang.Long
JAva.util.Dateとのjava.sql.Timestamp相互転送
JAva.sql.Timestamp------>java.util.Date(両方は親子関係で、直接値を割り当て、自動的に変換できます)
/**
 *  java.sql.Timestamp     java.util.Date  
 * 
 * @param time
 *                java.sql.Timestamp  
 * @return     java.util.Date  
 */
public static java.util.Date timeToDate(java.sql.Timestamp time) {
    return time;
}

JAva.util.Date---->java.sql.Timestamp(Stringを中間変数とし、この方法は上記の方法に依存)
/**
 *  java.util.Date     java.sql.Timestamp  
 *
 * @param date
 *                java.util.Date  
 * @return     java.sql.Timestamp  
 */
public static java.sql.Timestamp dateToTime(java.util.Date date) {
    String strDate = dateToStr(date, "yyyy-MM-dd HH:mm:ss SSS");
    return strToSqlDate(strDate, "yyyy-MM-dd HH:mm:ss SSS");
}

JAva.sql.TimestampとStringの相互回転
java.sql.Timestamp---->String
/**
 *  java.sql.Timestamp     String   
 * @param time
 *                java.sql.Timestamp  
 * @param strFormat
 *               String        ( :"yyyy-MM-dd HH:mm:ss")
 * @return         
 */
public static String dateToStr(java.sql.Timestamp time, String strFormat) {
    DateFormat df = new SimpleDateFormat(strFormat);
    String str = df.format(time);
    return str;
}


String---->java.sql.Timestamp
/**
 *  String      java.sql.Timestamp    ,       
 * @param strDate
 *                    
 * @param dateFormat
 *                        ( :"yyyy-MM-dd HH:mm:ss")
 * @return java.sql.Timestamp      (         null)
 */
public static java.sql.Timestamp strToSqlDate(String strDate, String dateFormat) {
    SimpleDateFormat sf = new SimpleDateFormat(dateFormat);
    java.util.Date date = null;
    try {
            date = sf.parse(strDate);
    } catch (ParseException e) {
            e.printStackTrace();
    }
    java.sql.Timestamp dateSQL = new java.sql.Timestamp(date.getTime());
    return dateSQL;
}