Javaでプログラムを作っています。私は次のコードを使用しています
u.setLastlogin(new java.util.Date());
上記の関数はパラメーターを受け入れますjava.util.Date
が、この値を列の型であるデータベーステーブルに保存したいtimestamp
ですか?
システムの現在のタイムスタンプをテーブルに挿入できるようにコーディングする方法を教えてください。ありがとう。
次のように変換できDate
ます。Timestamp
Timestamp timestamp = new Timestamp(date.getTime());
そして、現在の日付のタイムスタンプが必要な場合:
new Timestamp(System.currentTimeMillis())
Date now = new Date();
now.getTime();
SQLステートメントを発行することもできます。
UPDATE MY_TABLE SET LAST_LOGIN = NOW();
これはMySQL用です。これも役立つはずです:MySQLの日付と時刻の関数
EDIT Ramboが要求したように、列のデフォルト値を実際のタイムスタンプに設定します(MySQLによると:ALTER TABLE構文とMySQLデータ型のデフォルト値):
ALTER TABLE MY_TABLE ALTER MY_TIMESTAMP COLUMN SET DEFAULT CURRENT_TIMESTAMP;
JPA の場合:
lastLogin に次のように注釈を付けます。@Temporal(TemporalType.TIMESTAMP)
JDBC を使用する場合:
これを使ってjava.sql.Timestamp timestamp = new java.sql.Timestamp(new Date().getTime());
u.setLastlogin(timestamp);