Java 如何存取MySQL datetime類型

1 在java中只有Date類型,這樣數據存儲到MySQL會出現問題,前臺提交的數據,好比2018-03-20 17:30:59,後臺用Date接受的時候,因爲Date只精確到天,因此默認接收時間爲2016-10-10 00:00:00,保存到mysql數據庫以後,從新取出數據的時候又會發現,數據爲2018-03-20 00:00:00.0,平白無故在後面多了一個.0。前端

 

2 解決方法java

① 提取數據mysql

若是要從MySQL中獲取yyyy-MM-dd HH:mm:ss 日期格式,首先必須使用 rs.getTimestamp("insert_dt")方法,其中"insert_dt" 是數據庫時間字段,類型爲datetime;而後經過SimpleDateFormat 時間格式化類,將取出來的時間轉爲String類型sql

先來對比rs獲取不一樣日期時間格式的方法數據庫

    System.out.println(rs.getDate("insert_dt"));
    System.out.println(rs.getTime("insert_dt"));
    System.out.println(rs.getTimestamp("insert_dt"));

  輸出結果:post

2018-03-19
22:03:21
2018-03-19 22:03:21.0

  能夠看到經過getTimestamp獲取的日期格式最後還有一位數(2018-03-19 22:03:21.0),須要將rs.getTimestamp("insert_dt") 轉爲String類型spa

 String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(rs.getTimestamp("insert_dt"));
 System.out.println(timeStamp);

  輸出結果:code

2018-03-19 21:51:57

 

  ② 存儲數據orm

複製代碼
    
        Date date = new Date();  
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //從前端或者本身模擬一個日期格式,轉爲String便可
        String dateStr = format.format(date);
            
        String sql="insert into t_pay_info(title,content,price,type_id,contact,phone,insert_dt)"
                    +"values(?, ?, ?, ?, ?, ?, ?);";
        String[] params = {"初中英語輔導","擅長初中英語輔導,可以與學生進行良好的溝通,穩步提高學生成績","100", "3","Latinyrain","15185077780",dateStr};
        DBUtil.update(sql, params);
複製代碼
相關文章
相關標籤/搜索