如何使用JDBC在数据库中插入当前日期和时间?
MySQL数据库中的时间戳数据类型存储日,月,年,小时,分钟,秒,小数秒。使用此功能,您可以一次表示日期和时间。
使用JDBC时,有两种插入/获取当前时间戳值的方法。
使用数据库默认值作为日期。
使用日历类的getTime()方法。
数据库默认值
使用以下查询创建一个名为sample的表以将时间戳存储在MySQL数据库中:
CREATE TABLE Sample(Id INT, Current_Time_Stamp TimeStamp);
现在描述如下表:
+--------------------+-----------+------+-----+-------------------+| Field | Type | Null | Key | Default |
+--------------------+-----------+------+-----+-------------------+
| Id | int(11) | YES | | NULL |
| Current_Time_Stamp | timestamp | NO | | CURRENT_TIMESTAMP |
+--------------------+-----------+------+-----+-------------------+
如果您观察到,则时间戳的默认值是系统的当前时间戳。即,如果默认情况下您不将任何值传递给此列,则它将使用当前时间戳记值填充。
因此,在使用JDBC程序将值插入具有时间戳的表中时,在Prepared语句中留下时间戳列,或者只是使用CURRENT_TIMESTAMP而不是占位符?这将用当前时间戳值填充。
示例
import java.sql.Connection;import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertingCurrentTime {
public static void main(String args[])throws Exception {
//获得连接
String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
//将值插入表 String query = "INSERT INTO sample(ID, Current_Time_Stamp)
VALUES (?, CURRENT_TIMESTAMP)";
PreparedStatement pstmt = con.prepareStatement(query);
pstmt.setInt(1, 1);
pstmt.execute();
System.out.println("Data inserted......");
}
}
输出结果
Data inserted......
如果您观察该表的内容,则可以将其与当前时间戳记值一起看到,如下所示:
+------+---------------------+| Id | Current_Time_Stamp |
+------+---------------------+
| 1 | 2019-02-27 17:18:17 |
+------+---------------------+
getTime()
Calendar类的方法
Calendar类的getTime()方法返回Date类的Object,该对象保存日历的当前时间值。
Calendar calendar = Calendar.getInstance();java.util.Date currentTime = calendar.getTime();
java.util.Date类还提供了一个名为方法的getTime()此方法返回类型长的一个变量,它表示从标准信号出现时间的毫秒数(自1970年1月1日,00:00:00 GMT)到该对象的当前时间值。
long time = currentTime.getTime();
现在,将此获得的当前时间值作为一个参数传递给setTimedtamp()方法,其中另一个将是代表占位符?的参数索引的整数。您需要将其设置为当前时间戳值。
pstmt.setTimestamp(2, new Timestamp(time));
以上是 如何使用JDBC在数据库中插入当前日期和时间? 的全部内容, 来源链接: utcz.com/z/347311.html