日付の操作
java.sql.Dateでは、newするとき、longの値を必要とする(他の方法は推奨されていない)
http://blog.goo.ne.jp/xmldtp/e/60de09e233588c1db59cb39ca2acf33a
らしいので、通常、現在時刻で作成するときは、(このあとPreparedStatement#setDate()することが多い)
new java.sql.Date(System.currentTimeMillis());
日付の操作をするときには、グレゴリアンカレンダー(Date系を直接操作することは非推奨)を利用して
GregorianCalendar gc = new GregorianCalendar(); Date now = new java.sql.Date(gc.getTimeInMillis()); ps.setDate(i++, now); gc.add(Calendar.DATE, 14); Date twoWeeksHence = new java.sql.Date(gc.getTimeInMillis()); ps.setDate(i++, twoWeeksHence);
みたいにする。
Javaの道:FAQ(2.日付・時刻)
Javaで基本操作(その4):日時操作(GregorianCalendarで操作、Dateを変換) - ウィリアムのいたずらの開発日記
トランザクション
AutoCommitがオンになっているかどうかを知る
SELECT @@autocommit
トランザクションを開始する
START TRANSACTION
JDBCでは必要ない
まず、トランザクションの開始ですが、JDBC では明示的なトランザクションの開始 ( Begin Transaction ) は必要ありません。トランザクションの開始は、前回のトランザクションの終了後、最初の SQL 文を実行するステートメントオブジェクトのメソッドにより暗黙的に行われます。
http://www.ogis-ri.co.jp/otc/hiroba/technical/DTP/step1/index.html#ref5