package lecture.jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import lecture.common.DB;
import lecture.common.Log;

/** MySQL auto-incrementが設定されたテーブルにInsertする Java */
class MySqlAutoIncrementSample {
  // クローズ処理はいい加減...
  public static void main(String[] args) throws SQLException, ClassNotFoundException {
    Connection conn = null;
    try {
      conn = DB.get();
      // ID,NAMEのカラムがあるが、IDはauto-increment
      // NAMEのみをinsertする
      String sql = "insert into AUTO_TEST (NAME) values ('fuji')";
      PreparedStatement st = conn.prepareStatement(sql);
      st.executeUpdate();
      DB.close(st);
      //
      // 先にinsertされたID(auto-increment)の値を取得する
      sql = "select LAST_INSERT_ID() as LAST from AUTO_TEST";
      st = conn.prepareStatement(sql);
      ResultSet rs = st.executeQuery();
      rs.next();
      long last = rs.getLong("LAST");
      Log.print("last="+last);
      //
      DB.close(rs);
      DB.close(st);
    }
    finally {
      DB.close(conn);
    }
  }
}
//---------------------------------------------------
//・目次 - JDBC
//  http://blogs.yahoo.co.jp/artery2020/40575568.html
//・目次 - Java入門
//  http://blogs.yahoo.co.jp/artery2020/39975776.html
//・目次 - ビジネスパーソンの常識と非常識
//  http://blogs.yahoo.co.jp/artery2020/39728331.html
//・目次 - 論理・発想・思考についての考察と鍛え方
//  http://blogs.yahoo.co.jp/artery2020/39657784.html
//・目次 - 単なる雑談
//  http://blogs.yahoo.co.jp/artery2020/40599073.html
//---------------------------------------------------