Foreach terutama digunakan dalam membangun dalam kondisi, dapat mengulangi koleksi dalam pernyataan SQL. Atribut elemen foreach terutama mencakup item, indeks, koleksi, terbuka, pemisah, dan tutup. Item mewakili alias ketika setiap elemen dalam koleksi diulang. Indeks menentukan nama untuk mewakili posisi yang setiap iterasi dicapai selama proses iterasi. Open mewakili apa yang dimulai dengan pernyataan, pemisah mewakili simbol apa yang digunakan sebagai pemisah antara setiap iterasi, dan Close mewakili apa yang diakhiri dengan. Hal yang paling kritis dan paling rawan kesalahan saat menggunakan foreach adalah atribut koleksi. Atribut ini harus ditentukan, tetapi dalam kasus yang berbeda, nilai atribut berbeda. Ada tiga situasi utama:
Jika lulus dalam adalah parameter tunggal dan jenis parameter adalah daftar, nilai atribut koleksi adalah daftar.
Jika lulus dalam adalah parameter tunggal dan tipe parameter adalah array, nilai properti koleksi adalah array.
Jika ada beberapa parameter yang dilewati, kita perlu merangkumnya ke dalam peta. Tentu saja, satu parameter juga dapat dienkapsulasi ke dalam peta. Bahkan, jika Anda lulus dalam parameter, itu juga akan dienkapsulasi ke dalam peta di mybatis. Kunci peta adalah nama parameter, jadi pada saat ini nilai atribut koleksi adalah kunci dari daftar yang diteruskan atau objek array di peta yang dienkapsulasi dengan sendirinya.
Mari kita berlatih melalui kode:
Tabel Data:
Menggunakan tabel HR.employees Oracle
Entitas: Karyawan
Karyawan kelas publik {private integer usaha; Private String FirstName; Private String LastName; email string pribadi; Private String Phonenumber; kencan pribadi menyewa; Private String JobID; gaji privat besar; Komisi BigDecimal swasta; Manajer Integer Pribadi; Private Short DepartmentId;}Pemetaan File:
<!-Daftar: Jenis atribut koleksi di forech adalah daftar, nilai koleksi harus: daftar, nilai item dapat sewenang-wenang, dan nama parameter dalam antarmuka dao adalah sewenang-wenang-> <pilih id = "getempleeeslistParams" collection "" separator=","> #{employeeId} </foreach> </select> <!--Array: The collection attribute type in forech is array, the value of collection must be: list, item value can be arbitrary, and the parameter names in the Dao interface are arbitrary--> <select id="getEmployeesArrayParams" resultType="Employees"> select * from EMPLOYEES e where e.EMPLOYEE_ID in <foreach collection = "array" item = "emplingeeid" index = "index" open = "(" close = ")" sparator = ","> #{karyawan} </ foreach> </select> <!-peta: tidak hanya atribut koleksi di forech adalah peta. <where> <if test = "departmentId! = null dan department! = ''"> e.department_id =#{departmentId} </if> <if test = "usaha sendiri! = null dan girwayeidsarray.length! = 0"> dan e.sployee_id di <foreach collection = "karyawan" item = "" "" "" separator = ","> #{mempekerjakan usaha} </freeach> </if> </dire> </ pilih>Kelas Mapper:
Public Interface karyawanMapper {List <ereage> getEmployeesListParams (Daftar <String> karyawan); Daftar <shandleing> getEmployeesArrayParams (string [] karyawan); Daftar <shandandle> getEmployeesmapparams (peta <string, object> params);}Di atas adalah deskripsi lengkap dari metode penulisan parameter peta array mybatis yang masuk yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu semua orang!