INSERTステートメントを実行するにはexecuteUpdate()メソッドを使用する必要がありますが、SELECTステートメントを実行するにはexecuteQuery()メソッドを使用する必要があります。これは、JDBC仕様によってその使用法に課せられた要件によるものです。
コード(ここに投稿された擬似コード)は次のように表示されます:
statement.executeUpdate("INSERT INTO Sessions(id_user) VALUES(1)"); // DML operation
statement.executeQuery("SELECT LAST_INSERT_ID()"); // SELECT operation
そしてもちろん、 MySQLドキュメントは、AUTO_INCREMENT列に対して同じアクティビティを実行する方法を示しています 、これは明らかにあなたが必要としているものです。
同じトランザクションで両方を一緒に実行する必要がある場合は、次のようにセミコロンで区切って1つの文字列でステートメントを送信します。
statement.execute("INSERT INTO Sessions(id_user) VALUES(1); SELECT LAST_INSERT_ID() FROM Sessions LIMIT 1;");
次に、execute()メソッドを使用する必要があります。これは、単一のexecute()でステートメントをまとめてバッチ処理するためにデータベースとJDBCドライバーによって提供されるサポートに依存することに注意してください。これはSybaseとMSSQLServerでサポートされていますが、MySQLではサポートされていないと思います。