1.背景介绍
数据库实现方法
created_at timestamp NULL DEFAULT CURRENT_TIMESTAMP, updated_at timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
优点:自动更新时间
缺点:读取不便&&计算&&多时区
String timeStamp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(rs.getTimestamp("insert_dt"));
timestamp->bigint
2.知识剖析
created_at 创建时间
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接口是狭义的接口,只是编程中的一个规范,像模式、AOP之流,局限于某个领域
广义的接口是指对外提供交互,如api接口、usb接口、rest接口
api:接口是应用程序和模块之间相互沟通的方式。提供某些功能的应用程序或者模块为了与其它程序相互沟通,对外公开了某些功能的调用方式方法,是应用程序和模块之间相互沟通的方式
开放与否?
对外提供查询接口
3.编码实战
4.常见问题
1、 CreateAt和UpdateAt的意义分别是创建时间和修改时间,这两个时间应该在什么情况下赋值?
2、 是否应该开放给外部调用的接口?
3、 是否使用数据库中的自动更新时间?