Javaを使ってMySQLにdatetimeを挿入して、タイムアウトを防ぐ.
1687 ワード
問題 java.util.Dateを使って直接MySQLを挿入できません.java.sql.Dateを使用しなければならないようです. MySQLにtimestamp(タイムスタンプ)を使用すれば、表現できる時間は限られています. は、java.util.DateをMySQLのdatetimeに挿入する際(prepardSttementを使用して)、発見した時、分秒情報が 失われました.
解決
Stock Overflow上の問題
実は大神たちがとっくに解いている問題です.この案にはjava.sql.Dateのタイプはいらないです.まず、「2017/05/12 2:59:10」という文字列を取得します.
締め括りをつける
やはり思い切って試してみます.
解決
Stock Overflow上の問題
実は大神たちがとっくに解いている問題です.この案にはjava.sql.Dateのタイプはいらないです.まず、「2017/05/12 2:59:10」という文字列を取得します.
java.util.Date dt = new java.util.Date();
java.text.SimpleDateFormat sdf =
new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime = sdf.format(dt);
この値をMySQLに挿入します.挿入時はそのままset Stringメソッドを使用します.(最初はこんなに暴力的だったとは思いませんでした.何度も試してみて、真実はこんなに簡単だったのです.)String sql = "insert into times values(?)";
pStatement = connection.prepareStatement(sql);
pStatement.setString(1, currentTime);
pStatement.execute();
直接文字列スティッチングを使うとエラーが発生します.締め括りをつける
やはり思い切って試してみます.