PreparedStatement设置系统时间

 

这里使用的是MySQL数据库, 在向表中datetime 字段设值时,  一般使用preparedStatement.setDate().

这样只能存入日期,而没有时间.  下面两个方法可以将年月日时分秒都保存进数据库.

1.使用preparedStatement.setTimestamp()

// 将当前日期时间存入数据库    
pstmt.setTimestamp( 4 new  Timestamp(System.currentTimeMillis()));    
pstmt.setTimestamp(
4 new  Timestamp(( new  java.util.Date()).getTime()));   

2.使用MySQL的时间函数

MySQL内置了一系列时间函数: 

CURDATE()  
CURRENT_DATE()
CURTIME()
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()

可以直接在SQL语句中,使用这些函数, 替代本应由java注入的Date

// 将当前日期时间存入表t的create_date字段    
insert into t (... , create_date) value (... , ? , CURRENT_TIMESTAMP());    
insert into t (... , create_date) value (... ,
? , NOW());

 

 

 

 

你可能感兴趣的:(sql,mysql)