Langkah Pertama:
Tambahkan Properti " useGeneratedKeys " dan " keyProperty " dalam file mapper Mybatis, di mana keyProperty adalah nama properti dari objek Java!
<masukkan id = "masukkan" parameTerType = "spares" useGeneratedKeys = "true" keyproperty = "id"> masukkan ke dalam paruh (spares_id, spares_name, spares_type_id, spares_spec) nilai (#{id},#{name},#{{{{name {{{name {{{{name {{{{name {{{{name {{{name {{{name {{{name {{{name {{{name {{{name {{{name {{{name {{{name {{{name {{{name {{{name {{{name {{{name {{{name#{Langkah 2:
Setelah MyBatis menjalankan pernyataan insert, itu akan secara otomatis menetapkan nilai peningkatan diri ke ID properti dari objek suku cadang. Oleh karena itu, dapat diperoleh melalui metode Getter yang sesuai dengan suku cadang!
/** * Menambahkan suku cadang * @Author HelloStory * @param Spares * @return */@RequestMapping (value = "/inert") @ResponseBody Public JsonResponse Insert (Suku Cadang Suku Cadang) {int count = sparesservice.insert (SPARES); System.out.println ("Sisipkan dalam total" + count + "Record!" + "/N Nilai pertumbuhan diri kunci utama dari catatan yang baru saja dimasukkan adalah:" + fares.getid ());PS: Mybatis Mengembalikan ID pertumbuhan diri dari data yang dimasukkan
Hari ini, tes melaporkan bug. Fenomena ini adalah bahwa pengguna yang baru terdaftar dapat melihat laporan semua orang. Tidak ada masalah dengan pengguna lama. Saat memeriksa log, ditemukan bahwa ID dari pengguna yang baru terdaftar adalah nol, jadi tabel penuh kueri data yang valid dilakukan. Namun, kunci utama tabel tidak diperbolehkan kosong, jadi bagaimana ID pengguna baru terdaftar menjadi nol? Alasannya adalah bahwa kode di lapisan layanan secara langsung mengembalikan objek parameter, dan XML tidak membuat konfigurasi apa pun.
Solusi spesifiknya adalah mengonfigurasi metode insert di XML
useGeneratedKeys = "true" keyproperty = "registerId"
Nilai KeyProperty sesuai dengan atribut kunci utama dalam objek Entity Vo
Dengan rincian sebagai berikut:
<code> @Override Public Register create (register r) {registersmapper.insert (r); mengembalikan r; } </code>Metode masukkan registermapper.xml adalah sebagai berikut:
<code> <masukkan id = "masukkan" keyProperty = "registerId" parameTerType = "com.ciji.zzaservice.pojo.base.registers" UsedGeneratedKeys = "true">
Jalankan Pernyataan Sisipan Normal
</sert> </code>
Dengan cara ini, Anda bisa mendapatkan kunci utama pertumbuhan diri dari data yang baru dimasukkan di lapisan pengontrol.
Mengenai arti menambahkan dua atribut ke XML, penjelasan online adalah sebagai berikut:
UsegeneratedKeys
(Digunakan hanya untuk dimasukkan) Ini memberi tahu MyBatis untuk menggunakan metode GetGeneratedKeys JDBC untuk mengambil kunci utama yang dihasilkan secara internal oleh data (seperti bidang penumpang otomatis dari sistem manajemen basis data seperti MySQL dan SQL Server). Nilai default: Salah.
KeyProperty
(Digunakan hanya untuk dimasukkan) Tandai properti, mybatis akan menetapkan nilainya melalui getGeneratedKeys atau melalui elemen anak terpilih dari pernyataan insert. Default: Tidak diatur.
Meringkaskan
Di atas adalah nilai bidang pertumbuhan diri (ID) dari catatan insert yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!