送信した情報を、表示させる機能を付けようとしており、
このページの下記のコードを理解したいのですが、
public class Test { public static void main(String[] args) { int autoIncrementKey = 0; try { // ドライバロード Class.forName("com.mysql.jdbc.Driver"); // MySQL に接続 Connection con = DriverManager.getConnection("jdbc:mysql://localhost/testdb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", "user", "password"); String sql = "insert into test(name) values (?)"; // ステートメント生成 // ここでRETURN_GENERATED_KEYSを設定する PreparedStatement stmt = con.prepareStatement(sql, java.sql.Statement.RETURN_GENERATED_KEYS); stmt.setString(1, "XXX"); stmt.executeUpdate(); // getGeneratedKeys()により、Auto_IncrementされたIDを取得する ResultSet res = stmt.getGeneratedKeys(); if(res.next()){ autoIncrementKey = res.getInt(1); } System.out.println(autoIncrementKey); res.close(); stmt.close(); con.close(); } catch (Exception e){ System.out.println(e); } } }
変数conでドライバーに接続するコードが短縮(?)されていると言う理解であってますでしょうか?
そうだとして、stmtに短縮されてるコードが、何をするものなのかがわからなく、
stmt.setString(1, "XXX"); stmt.executeUpdate();
の部分が何をしているのかがわかりません。
初歩的な質問になってしまい申し訳ありません。
どなたか解説してくださる方いましたらよろしくお願いします。
あなたの回答
tips
プレビュー