Bagaimana cara menggunakan anotasi @ResultType dengan betul di Mybatis?
Penggunaan @ResultType
Annotation yang betul di Mybatis
Artikel ini membincangkan penggunaan anotasi @ResultType
di Mybatis dan menjelaskan hubungannya dengan ResultHandler
. Analisis kod sumber menunjukkan bahawa anotasi @ResultType
hanya berkuatkuasa apabila jenis jenis pulangan adalah void
.
Kesalahpahaman dan penjelasan:
Ramai pemaju tersilap percaya bahawa @ResultType
secara langsung menentukan jenis nilai pulangan. Malah, apabila kaedah itu kembali void
, @ResultType
memberitahu Mybatis bagaimana untuk memetakan hasil pertanyaan kepada jenis yang ditentukan ( Student.class
), yang biasanya digunakan dengan ResultHandler
. Jika kaedah mengembalikan jenis tidak void
, @ResultType
akan diabaikan dan MyBatis akan memetakan mengikut jenis Kaedah Pulangan.
Kaedah penggunaan yang betul:
Contoh berikut menunjukkan kombinasi @ResultType
dan ResultHandler
yang betul:
@Select ("Pilih * dari Pelajar") @ResultType (student.class) void queryStudent (studentResulTheHandler resulthandler); Pelaksanaan StudentResulthandler Kelas Awam melaksanakan resulthandler<student> { Senarai Akhir Swasta<student> pelajar = arrayList baru (); @Override public void handleresult (resultContext extends student> context) { Pelajar pelajar = context.getResultObject (); pelajar.add (pelajar); } Senarai Awam<student> getStudents () { mengembalikan pelajar; } }</student></student></student>
Dalam contoh ini:
- Kaedah
queryStudent
kembalivoid
. -
@ResultType(Student.class)
Beritahu MyBatis untuk memetakan hasil pertanyaan kepada objekStudent
. -
StudentResultHandler
melaksanakan antara mukaResultHandler
, memproses hasil pertanyaan baris mengikut baris, dan menambah setiap objekStudent
ke senaraistudents
. - Pemanggil perlu mendapatkan senarai hasil melalui
resultHandler.getStudents()
.
Situasi lain:
Anotasi
@ResultMap
: Sekiranya fail pemetaan XML digunakan<resultmap></resultmap>
Menentukan peta hasil, anda harus menggunakan anotasi@ResultMap
dan bukannya@ResultType
.Jenis Kembali Tidak
void
: Jika Kaedah MengembalikanList<student></student>
atauStudent
, tanpa@ResultType
, MyBatis secara automatik akan memetakan mengikut jenis kembali.
Meringkaskan:
Anotasi @ResultType
digunakan terutamanya untuk kaedah jenis pulangan void
, dan ia melaksanakan logik pemprosesan hasil tersuai bersempena dengan ResultHandler
. Untuk jenis pulangan yang tidak void
, MyBatis secara automatik akan memetakan berdasarkan jenis pulangan tanpa @ResultType
. Memilih @ResultType
atau @ResultMap
bergantung kepada sama ada pemetaan hasil XML digunakan. Hanya dengan memahami perbezaan ini, anda boleh menggunakan anotasi mybatis dengan betul dan berkesan.
Atas ialah kandungan terperinci Bagaimana cara menggunakan anotasi @ResultType dengan betul di Mybatis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Eksport PDF yang dilindungi kata laluan di Photoshop: Buka fail imej. Klik "Fail" & gt; "Eksport" & gt; "Eksport sebagai PDF". Tetapkan pilihan "Keselamatan" dan masukkan kata laluan yang sama dua kali. Klik "Eksport" untuk menghasilkan fail PDF.

Perbezaan utama antara CentOS dan Ubuntu adalah: asal (CentOS berasal dari Red Hat, untuk perusahaan; Ubuntu berasal dari Debian, untuk individu), pengurusan pakej (CentOS menggunakan yum, yang memberi tumpuan kepada kestabilan; Ubuntu menggunakan APT, untuk kekerapan yang tinggi) Pelbagai tutorial dan dokumen), kegunaan (CentOS berat sebelah ke arah pelayan, Ubuntu sesuai untuk pelayan dan desktop), perbezaan lain termasuk kesederhanaan pemasangan (CentOS adalah nipis)

H5. Perbezaan utama antara program mini dan aplikasi ialah: Senibina Teknikal: H5 adalah berdasarkan teknologi web, dan program mini dan aplikasi adalah aplikasi bebas. Pengalaman dan Fungsi: H5 adalah ringan dan mudah digunakan, dengan fungsi terhad; Program mini adalah ringan dan mempunyai interaktif yang baik; Aplikasi berkuasa dan mempunyai pengalaman yang lancar. Keserasian: H5 adalah serasi, aplikasinya dan aplikasinya yang serasi dengan platform. Kos Pembangunan: H5 mempunyai kos pembangunan yang rendah, program mini sederhana, dan aplikasi tertinggi. Senario yang berkenaan: H5 sesuai untuk paparan maklumat, applet sesuai untuk aplikasi ringan, dan aplikasi sesuai untuk fungsi kompleks.

Keperluan mendaftarkan vuerouter dalam fail index.js di bawah folder penghala apabila membangunkan aplikasi VUE, anda sering menghadapi masalah dengan konfigurasi penghalaan. Khas ...

Penjelasan terperinci mengenai kaedah carian XPath di bawah nod Dom dalam JavaScript, kita sering perlu mencari nod tertentu dari pokok Dom berdasarkan ekspresi XPath. Sekiranya anda perlu ...

不同数据库系统添加列的语法为: mysql: alter jadual meja_name tambah column_name data_type; postgresql: alter table table_name tambah lajur column_name data_type; oracle: alter table table_name tambah (column_name data_type);

Laravel dan ThinkPHP adalah kerangka PHP yang popular dan mempunyai kelebihan dan kekurangan mereka sendiri dalam pembangunan. Artikel ini akan membandingkan kedua -dua kedalaman, menonjolkan seni bina, ciri, dan perbezaan prestasi mereka untuk membantu pemaju membuat pilihan yang tepat berdasarkan keperluan projek khusus mereka.

Keadaan firewall CentOS dapat dilihat melalui perintah firewall-cmd sudo, kembali ke lari atau tidak berjalan. Untuk maklumat yang lebih terperinci, anda boleh menggunakan sudo firewall-cmd-list-all untuk melihat, termasuk kawasan yang dikonfigurasi, perkhidmatan, pelabuhan, dan lain-lain. Jika firewall-cmd tidak menyelesaikan masalah, anda boleh menggunakan iptabes sudo -l -n untuk melihat peraturan iptables. Pastikan anda membuat sandaran sebelum mengubah suai konfigurasi firewall untuk memastikan keselamatan pelayan.
