Kata pengantar
Sebagian besar proyek sekarang menggunakan mybatis, tetapi beberapa perusahaan menggunakan hibernate. Fitur terbesar menggunakan mybatis adalah bahwa SQL perlu ditulis dengan sendirinya, dan menulis SQL membutuhkan banyak parameter. Menghadapi berbagai skenario bisnis yang kompleks, parameter yang lewat juga merupakan semacam pengetahuan.
Di bawah ini kami merangkum metode transmisi multi-parameter berikut.
Metode 1: Metode transfer parameter berurutan
Angka -angka di #{} mewakili urutan di mana Anda melewati parameter.
Metode ini tidak disarankan untuk digunakan, ekspresi lapisan SQL tidak intuitif, dan kesalahan rentan terjadi setelah pesanan disesuaikan.
Metode 2: @param anotasi metode parameter lewat
Nama di #{} sesuai dengan nama yang dimodifikasi dalam braket anotasi @param.
Metode ini cukup intuitif ketika tidak ada banyak parameter, jadi disarankan untuk menggunakannya.
Metode 3: Metode Transfer Parameter Peta
Nama di #{} sesuai dengan nama kunci di peta.
Metode ini cocok untuk melewati beberapa parameter dan parameternya mudah menguap dan dapat ditransmisikan secara fleksibel.
Metode 4: Metode Transfer Parameter Java Bean
Nama di #{} sesuai dengan atribut anggota di kelas pengguna.
Metode ini sangat intuitif, tetapi membutuhkan pembangunan kelas entitas. Tidak mudah untuk berkembang. Ini membutuhkan penambahan atribut untuk digunakan sesuai dengan situasi.
Metode Passing Parameter Saat Menggunakan Antarmuka Mapper
Ketika mybatis menggunakan antarmuka mapper untuk pemrograman, lapisan yang mendasarinya menggunakan mekanisme proxy dinamis, yang disebut pada permukaan, tetapi pada kenyataannya itu adalah melalui metode SQLSession yang sesuai yang disebut oleh proxy dinamis, seperti selecone (). Teman yang tertarik dapat memeriksa metode getMapper () defaultSQLSession, yang pada akhirnya akan mendapatkan objek mapperproxy yang memproksikan antarmuka mapper. Ketika objek mapperproxy memanggil metode antarmuka mapper, itu akan mengonversi parameter yang diteruskan, dan kemudian menggunakan parameter yang dikonversi sebagai parameter untuk memanggil metode operasi yang sesuai yang sesuai dengan SQLSession (seperti Selecone, Insert, dll.). Proses konversi dapat diimplementasikan dengan mengacu pada metode Execute () dari Mappermethod. Sederhananya, aturan berikut:
1. Jika lulus-melalui adalah parameter tunggal dan tidak dinamai dengan anotasi @param, maka metode SQLSession yang sesuai dipanggil langsung dengan parameter tunggal sebagai parameter nyata.
2. Jika lulus bukan parameter tunggal atau berisi parameter yang dinamai dengan anotasi @param, parameter yang sesuai akan dikonversi menjadi peta untuk disahkan. Aturan spesifiknya adalah sebagai berikut:
2.1. Parameter yang sesuai akan disimpan sebagai kunci di peta target dalam bentuk param1, param2, dan paramn secara berurutan. Parameter pertama adalah param1 dan parameter ke -n adalah paramn.
2.2. Jika parameter adalah parameter yang dinamai dengan anotasi @param, disimpan di peta target dengan nama yang ditentukan oleh @param sebagai kunci.
2.3. Jika parameter tidak dinamai setelah anotasi @param, mereka disimpan sebagai kunci di peta target dalam bentuk 0, 1, dan n secara berurutan. Parameter pertama adalah 0 dan parameter ke -n adalah N.
Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap konten artikel ini memiliki nilai referensi tertentu untuk studi atau pekerjaan semua orang. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi. Terima kasih atas dukungan Anda ke wulin.com.