6

Javaでプログラムを作っています。私は次のコードを使用しています

u.setLastlogin(new java.util.Date());

上記の関数はパラメーターを受け入れますjava.util.Dateが、この値を列の型であるデータベーステーブルに保存したいtimestampですか?

システムの現在のタイムスタンプをテーブルに挿入できるようにコーディングする方法を教えてください。ありがとう。

4

5 に答える 5

17

次のように変換できDateます。Timestamp

Timestamp timestamp = new Timestamp(date.getTime());

そして、現在の日付のタイムスタンプが必要な場合:

new Timestamp(System.currentTimeMillis())
于 2012-10-19T09:02:05.407 に答える
1
Date now = new Date();
now.getTime();
于 2012-10-19T08:54:46.960 に答える
0

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;
于 2012-10-19T08:54:59.497 に答える
0

JPA の場合:

lastLogin に次のように注釈を付けます。@Temporal(TemporalType.TIMESTAMP)

JDBC を使用する場合:

PreparedStatement#setTimestamp

于 2012-10-19T09:00:24.493 に答える
0

これを使ってjava.sql.Timestamp timestamp = new java.sql.Timestamp(new Date().getTime());

u.setLastlogin(timestamp);
于 2012-10-19T09:03:16.030 に答える