Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan ID Autoincrement dengan Penyata Disediakan di Java?

Bagaimana untuk Mendapatkan ID Autoincrement dengan Penyata Disediakan di Java?

Linda Hamilton
Linda Hamiltonasal
2024-11-15 04:57:02983semak imbas

How to Retrieve Autoincrement ID with Prepared Statements in Java?

Dapatkan ID Autoincrement dengan Penyata Disediakan dalam Java

Dalam JDBC, mendapatkan kunci utama yang dijana secara automatik selepas operasi sisipan adalah penting bagi kebanyakan orang aplikasi. Ini biasanya dilakukan menggunakan bendera RETURN_GENERATED_KEYS dengan createStatement(). Walau bagaimanapun, menggunakan pendekatan ini dengan pernyataan yang disediakan mungkin membawa kepada ralat kerana pernyataan yang disediakan tidak menyokong bendera RETURN_GENERATED_KEYS secara lalai.

Syukurlah, terdapat penyelesaian untuk mendapatkan ID yang dijana secara automatik menggunakan pernyataan yang disediakan. Dengan menambahkan bendera Statement.RETURN_GENERATED_KEYS sebagai parameter kedua kepada kaedah prepareStatement(), anda boleh mendayakan fungsi ini. Begini cara untuk mengubah suai kod yang anda berikan:

String sql = "INSERT INTO table (column1, column2) values(?, ?)";
stmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

stmt.executeUpdate();
if (returnLastInsertId) {
   ResultSet rs = stmt.getGeneratedKeys();
   rs.next();
   auto_id = rs.getInt(1);
}

Sekarang, apabila anda melaksanakan pernyataan yang disediakan, kaedah stmt.getGeneratedKeys() akan mengembalikan ResultSet yang mengandungi ID yang dijana secara automatik. Ini membolehkan anda mendapatkan semula ID dan menggunakannya seperti yang diperlukan dalam aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Autoincrement dengan Penyata Disediakan di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn