1. Apa itu mybatis dinamis sql
Ketika kita melihat dinamika, kita harus berpikir bahwa ini adalah pernyataan SQL yang dapat diubah.
SQL dinamis Mybatis didasarkan pada ekspresi OGNL, yang dapat membantu kita dengan mudah menerapkan logika tertentu dalam pernyataan SQL.
2. Persiapan sebelum menggunakan SQL Dinamis Mybatis
A. Tabel Basis Data
B. Buat kelas
3. Menggunakan SQL Dinamis Mybatis, Anda harus terlebih dahulu mengetahui beberapa nilai atribut
1. Masukkan
SELECTKEY: Pernyataan SQL dieksekusi sebelum atau sesudah pernyataan SQL
KeyColumn: Nama bidang atau alias yang sesuai
KeyProperty: Nama atribut atau nilai kunci peta yang sesuai dengan kelas entitas
Pesanan: Jalankan sebelum atau sesudah pernyataan eksekusi
Hasil Hasil: Jenis hasil pengembalian
Metode pertama: Penyisipan SQL dinamis termudah
Sisipkan ke nilai kursus (seq_course.nextval,#{coursecode},#{coursename}) pilih max (id) Currid dari kursustes
Hasil tes
Cara kedua: Jika saya tidak ingin memasukkan begitu banyak bidang dan saya tidak ingin memasukkan bidang Coursename, maka cara pertama jelas tidak mungkin.
Sisipkan ke Kursus (ID, CourSecode, Coursename) Value (SEQ_COURSE.NEXTVAL,#{Coursecode},#{Coursename})Tes dan hasil
Dari sini kita dapat melihat bahwa metode ini dapat dicapai ketika saya tidak ingin memasukkan bidang coursecode.
Sekarang judulnya ada di sini lagi. Apa yang terjadi jika kita ingin mengubah bidang terakhir menjadi kosong, atau kedua bidang menjadi kosong
Bidang terakhir menjadi kosong
Tampaknya ada koma di balik tanda tanya pertama di konsol
Coba kedua bidang menjadi kosong
Masih ada koma
Alasan untuk situasi di atas adalah bahwa ketika kami tidak ingin memasukkan lapangan, kami tidak menghapus koma. Kami sekarang memperkenalkan metode ketiga.
Cara ketiga adalah menghapus koma berlebih
Metode ini perlu memperkenalkan trim
Trim juga memiliki beberapa properti
Awalan: Tambahkan awalan
Prefixoverrides: angkanya awalan
Sufiks: Tambahkan akhiran
Suffixoverrides: override the suffix
ID, CourSecode, Coursenameseq_Course.nextval,#{Coursecode},#{Coursename}Lihat, masalahnya telah diselesaikan
Saat mengerjakan proyek, kami sering memasukkan data ke dalam database. Terkadang kami ingin memasukkan beberapa bagian secara bersamaan. Jadi, bagaimana kita harus memasukkan beberapa bagian data menggunakan mybatis?
Di sini, kita perlu menyelesaikan beberapa masalah
1. Bagaimana kita menyalin struktur tabel
Buat Table Course02 sebagai Pilih * dari Kursus
Apakah pernyataan ini sangat akrab? Ya, tabel kursus02 tidak hanya menyalin struktur tabel tabel kursus, tetapi juga menyalin konten tabel kursus.
2. Bagaimana kita menyalin hanya struktur tabel kursus alih -alih konten tabel kursus
Buat Table Course03 sebagai Pilih * dari kursus di mana 1! = 1;
3. Jadi saat memasukkan, apakah sama seperti ini?
masukkan ke kursus03 pilih * dari kursus;
Jawabannya sama
4. Cara memasukkan beberapa pernyataan
insert into course03select '6', 'yc06', 'data structure 06' from dual unionselect '7', 'yc07', 'data structure 07' from dual unionselect '8', 'yc08', 'data structure 08' from dual unionselect '8', 'yc08', 'data structure 08' from dual
Sekarang pernyataan SQL tersedia, kami dapat memasukkannya ke dalam file konfigurasi
masukkan ke kursuselect#{courses.id},#{courses.coursecode},#{courses.coursename} dari dual2. Modifikasi
1. Gunakan trim. Seperti yang disebutkan sebelumnya, Anda dapat menggunakan trim ke defix karena atribut suffixoverrides
Perbarui kursus setCourSecode =#{coursecode}, coursename =#{coursename} di mana id =#{id}2. Gunakan set, yang dapat menggantikan set dalam pernyataan, dan juga menghapus akhiran.
Perbarui coursecoursecode =#{coursecode}, coursename =#{coursename} di mana id =#{id}3. Saat memodifikasi, kami juga akan membuat perubahan selektif. Terkadang kami tidak ingin memodifikasi nilai agar konsisten dengan nilai tanpa modifikasi.
Pilih setara dengan beberapa jika
Yang pertama setara dengan IF, dan yang kedua setara dengan yang lain jika
jika tidak sama dengan yang lain
Perbarui coursecoursecode =#{coursecode}, coursecode = coursecode, coursename =#{coursename}, coursename = coursename, where id =#{id}Di atas adalah seluruh konten SQL dinamis Mybatis yang diperkenalkan kepada Anda. Saya harap ini akan membantu semua orang!