mysql日期和時間類型
· 關於日期類型的映射
java.util.Date
在jbdc中表示java中的時間,可以使用以下三個類型,這三個類型都是java.util.Date的子類,並且都在java.sql包中
直接已知子類:
DATE :YYYY-MM-DD 日期值,只表示日期
TIME : HH:MM:SS 時間值或持續時間,只表示時間
TIMESTAMP : YYYYMMDD HHMMSS 混合日期和時間值,時間戳,表示精確的時間(日期+時間)
package jdbc1020;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Time;
import java.sql.Timestamp;
public class TimeTest {
public static void main(String[] args) {
/*插入一條記錄包含三種時間*/
Date date = new Date(System.currentTimeMillis());
Time t = new Time(System.currentTimeMillis());
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
String sql = "insert into test values(?,?,?,null)";
try(Connection conn =jdbcUtil.getConnections();
PreparedStatement ps = conn.prepareStatement(sql)){
ps.setTime(1, t);
ps.setDate(2, date);
ps.setTimestamp(3, timestamp);
ps.execute();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("執行完畢");
}
}
TIMESTAMP類型有專有的自動更新特性
三個類型可以相互轉換
但是使用時儘量用相同的類型