1.背景介紹
數據庫實現方法
created_at timestamp NULL DEFAULT CURRENT_TIMESTAMP, updated_at timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
優(yōu)點:自動更新時間
缺點:讀取不便&&計算&&多時區(qū)
String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(rs.getTimestamp("insert_dt"));
timestamp->bigint
2.知識剖析
created_at 創(chuàng)建時間
updated_at 更新時間
動作:
1、新增 created_at = updated_at = time()
2、更新 created_at 不變 updated_at = time()
在什么時候賦值
1). 用戶輸入?用戶體驗
2). new一個對象的時候?多步驟?異步?
new對象
user.setRegistertime(new Date());
String sql="insert into users(email,password,registertime) values(?,?,?)";
try{
con=getConnection();
stat=con.prepareStatement(sql);
stat.setString(1, user.getEmail());
stat.setString(2, user.getPwd());
stat.setDate(3,(java.sql.Date) user.getRegistertime());
stat.executeUpdate();
}
3). 使用sql語句時?異步
unix_timestamp(now())
接口
java接口是狹義的接口,只是編程中的一個規(guī)范,像模式、AOP之流,局限于某個領域
廣義的接口是指對外提供交互,如api接口、usb接口、rest接口
api:接口是應用程序和模塊之間相互溝通的方式。提供某些功能的應用程序或者模塊為了與其它程序相互溝通,對外公開了某些功能的調用方式方法,是應用程序和模塊之間相互溝通的方式
開放與否?
對外提供查詢接口
3.編碼實戰(zhàn)
4.常見問題
1、 CreateAt和UpdateAt的意義分別是創(chuàng)建時間和修改時間,這兩個時間應該在什么情況下賦值?
2、 是否應該開放給外部調用的接口?
3、 是否使用數據庫中的自動更新時間?