java儲存時間date到mysql的datetime格式的方法

瘋子先生發表於2015-11-17

之前都是用string格式儲存時間(date)型別,相應的在資料庫選擇varchar格式進行儲存,現在需要做時間方面的比較,如果單單是取出來比較也沒什麼麻煩的,關鍵是在sql語句中就進行比較,String型別就無法滿足需要了。

首先,想到了mysql中的bigint型別就是java的long型別,因為Date被new出來後也是long型別,這樣就可以對應的儲存了。看到Timestamp類改變了想法,經過查詢資料找到了解決方法。以得到一個Timestamp格式的時間,且存入mysql中的時間格式是這樣的“yyyy/MM/dd HH:mm:ss”

Date date = new Date();
Timestamp timeStamp = new Timestamp(date.getTime());
else {
			sql= "insert into flowmeter2(total,std_flow,temp,press,time) values(?,?,?,?,?)";
		}
		try {
    		PreparedStatement ps = connection.prepareStatement(sql);
    		ps.setString(1, total);
    		ps.setString(2, std_flow);
    		ps.setString(3, temp);
    		ps.setString(4, press);
    		ps.setTimestamp(5, timeStamp);
    		ps.executeUpdate();
    		System.out.println("新增成功!");
    		connection.close();

mysql中的格式

當你需要查詢某個時間段內的時間的時候只需要這樣就搞定了

Timestamp timestamp1 = Timestamp.valueOf("2015-11-17 11:20:19");
Timestamp timestamp2 = Timestamp.valueOf("2015-11-17 11:20:34");
try {
<span style="white-space:pre">	</span>String querySql = "select total,std_flow,temp,press,time from flowmeter2 where time between ? and ?";
	ps = conn.prepareStatement(querySql);
	ps.setTimestamp(1, timestamp1);
	ps.setTimestamp(2, timestamp2);


相關文章