データベースアクセス時間フィールドについてのみ、日付(日付)時間を取得することはできません(分、秒)を表示問題は、この問題のために分析を行い、解決策を見つけるためにここに、比較的一般的な問題です。
この問題は、その理由を発生します。
java.util.Dateタイプ以来、彼らは分と秒を持っているが、これはデータベースにクラスでのJavaの型だけではなく、時間データベースタイプ、直接ではなくですが、それだけでデータベースに保存されている使用済みのjava.sql.Dateすることができますが、それ日付と時間がないだけ。
問題解決:
方法a:をjava.sql.TimestampにA java.util.Date
パブリックたjava.sql.Timestamp getTimestamp(日付){
リターン新をjava.sql.Timestamp(date.getTime());
}
方法2:書き込みSQLステートメント日付パラメータTO_DATE()関数で形質転換しました
String sql =" UPDATE tablename SET state=?,deal_date=to_date(?,'yyyy-mm-dd hh24:mi:ss') where id=?
Connection conn = null;
PreparedStatement ps = null;
try {
Date date = new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formatdate = sdf.format(date);//获取格式化日期,带有时分秒
conn = getConnection();
ps = conn.prepareStatement(sql);
ps.setString(1, state);
ps.setString(2,formatdate);
ps.setLong(3,Long.valueOf(id));
ps.executeUpdate();
} catch(Exception e) {
e.printStackTrace();
}finally {
cleanUp(conn, null, ps, null);
}