Rumah > Soal Jawab > teks badan
PHP中文网2017-04-18 10:48:40
Sebelum memanggil lapisan kegigihan, hasilkan sendiri UUID, letakkan dalam objek dan kaedah mengembalikan UUID.
阿神2017-04-18 10:48:40
Apabila antara muka dao mentakrifkan kaedah simpan, cuba ubah suai jenis pemulangan kepada String untuk melihat sama ada ia diterima.
Lainnya adalah untuk mengembalikan bilangan baris yang terjejas. Jika selectKey dikonfigurasikan, kandungan selectKey mungkin dikembalikan.
Apabila menggunakan MyBatis sebagai lapisan kegigihan, pernyataan sisipan tidak mengembalikan nilai kunci utama rekod secara lalai, tetapi mengembalikan bilangan rekod yang dimasukkan jika lapisan perniagaan perlu mendapatkan kunci utama rekod, ini boleh dicapai melalui konfigurasi Fungsi
Untuk kunci utama Jujukan, anda mesti menentukan nilai kunci utama untuk rekod yang akan dimasukkan sebelum melaksanakan sql sisipan, seperti Oracle dan DB2 Anda boleh menggunakan kaedah konfigurasi berikut:
<insert id="add" parameterType="vo.Category">
<selectKey resultType="java.lang.Short" order="BEFORE" keyProperty="id">
SELECT SEQ_TEST.NEXTVAL FROM DUAL
</selectKey>
insert into category (name_zh, parent_id,
show_order, delete_status, description
)
values (#{nameZh,jdbcType=VARCHAR},
#{parentId,jdbcType=SMALLINT},
#{showOrder,jdbcType=SMALLINT},
#{deleteStatus,jdbcType=BIT},
#{description,jdbcType=VARCHAR}
)
</insert>
PHP中文网2017-04-18 10:48:40
Mybatis mengembalikan bilangan baris yang terjejas secara lalai Untuk mengembalikan ID, anda perlu menulisnya secara berasingan.
Jika ia adalah pangkalan data Oracle, uuid boleh ditulis sebagai sys_guid()
Jika ia adalah mysql, lakukan perkara yang sama seperti yang dinyatakan di atas, berikan ID dahulu dan kemudian simpannya
伊谢尔伦2017-04-18 10:48:40
Tidak perlu menjana uuid terlebih dahulu dalam kod. Masalah ini boleh diselesaikan dengan memahami atribut keyProperty dalam selectKey.
Dengan cara ini, apabila selectKey dijana, UUID yang dijana akan ditetapkan ke dalam objek semasa