Mengapa saya membutuhkan mybatis
Mybatis adalah kerangka kerja Java ORM, dan ORM muncul untuk menyederhanakan pengembangan. Metode pengembangan awal adalah bahwa logika bisnis dan logika kueri basis data dipisahkan, baik menulis pernyataan SQL dalam suatu program, atau memanggil prosedur tersimpan SQL. Hal ini mengarah pada kebutuhan untuk beralih antara logika bahasa dan logika SQL, menghasilkan pengembangan yang tidak efisien. Oleh karena itu, serangkaian kerangka kerja ORM telah muncul. Kerangka ORM sesuai dengan tabel basis data dan objek Java. Saat mengoperasikan database, Anda hanya perlu mengoperasikan objek Java dari objek, seperti mengatur beberapa dan kondisi, dan hanya mengatur beberapa atribut.
Mengapa saya membutuhkan generator mybatis
Meskipun ada kerangka kerja mybatis, belajar mybatis juga membutuhkan biaya belajar, terutama mengkonfigurasi file XML yang dibutuhkan, yang cukup rumit, dan kesalahan terjadi dalam konfigurasi, yang tidak mudah ditemukan. Ketika ada kesalahan yang tidak dapat dijelaskan atau sejumlah besar benda yang perlu dihasilkan, seringkali ada perasaan enggan hidup dan berkeliaran dalam pikiran. Karena itu, generator mybatis muncul.
Ini hanya membutuhkan konfigurasi sederhana untuk menyelesaikan pembuatan tabel dalam jumlah besar untuk objek mybatis java. Ini tidak hanya cepat, tetapi juga tidak memiliki kesalahan, memungkinkan pengembang untuk benar -benar fokus pada pengembangan logika bisnis.
Fungsi generator mybatis resmi relatif sederhana, dan belum diimplementasikan untuk fungsi pagination yang sedikit kompleks, fungsi insert batch, dll. Yang pasti digunakan dalam pengembangan, tetapi memiliki fungsi plug-in yang matang yang didukung.
Saya telah meletakkan alat generasi mybatis yang biasanya kita gunakan untuk github, yang memiliki fungsi pagination, penyisipan batch, dan serialisasi terintegrasi. Anda dapat memeriksanya di sini dan sudah memperkenalkan cara menggunakannya.
struktur file generator mybatis
File yang dihasilkan berisi tiga kategori:
1. File Entitas Model, tabel database menghasilkan entitas model;
2.ModelExample File, file dan file entitas ini berada di direktori yang sama, dan terutama digunakan untuk menanyakan konstruksi bersyarat;
3.Mepper antarmuka file dan metode operasi data didefinisikan dalam antarmuka ini;
4.Mapper file konfigurasi XML;
Konfigurasikan jalur pembuatan file dalam file konfigurasi dan atur nama paket yang sesuai untuk menghasilkan struktur dan file direktori yang sesuai. Saya mengatur direktori yang dihasilkan ke direktori tes, nama paket entitas adalah com.fengzheng.dao.entity, nama paket antarmuka adalah com.fengzheng.dao.mapper, dan kemudian struktur direktori file yang dihasilkan ditunjukkan pada gambar di bawah ini:
Cara Menulis Kode
Semua panggilan metode berasal dari file antarmuka yang dihasilkan. Di Spring MVC, perlu untuk menyatakannya di penelepon. Menggunakan antarmuka daftar hitam sebagai contoh, file antarmuka yang dihasilkan adalah BlackListipMapper, sehingga penelepon perlu mendeklarasikan antarmuka ini, sebagai berikut:
@AutowiredPrivate BlackListipMapper BlackListipMapper;
Kueri basis data
Kueri adalah fungsi yang paling umum digunakan. Metode berikut adalah untuk meminta catatan yang IP adalah nilai tertentu. Jika Anda tahu kunci utama, Anda dapat menggunakan metode SelectByPrimaryKey.
BlackListip publik get (string ip) {blacklistipexample example = new blacklistipexample (); example.createCriteria (). AndipeQualto (ip); Daftar <Backlistip> blacklistiplist = blacklistMapper.selectbyexample (contoh); if (if (if (if); if (if); if (if); if (if); if (if); if (if); if (if); if (if); if (if); if (if); if (if); if (if); if (if); if (if); blacklistiplist.get (0);} return null;} Metode menyebut metode ini serupa. Untuk detailnya, silakan lihat pengenalan dokumen yang relevan.
Menyortir
BlackListip Public Get (String IP) {BlackListipExample Example = new BlackListipExample (); example.setOrderByClause ("create_time desc"); // urutkan berdasarkan waktu pembuatan contoh.createCriteria (). AndipeQualto (ip); Daftar <TlistTip> BlackListiplist = BlackListMapper.SelectByExample (contoh); if (blacklistiplist! = Null && blacklistiplist.size ()> 0) {return blacklistiplist.Pagination
Daftar PageInfo Publik (Akun Akun, PageInfo PageInfo, String StartTime, String EndTime) {Account.SetisDel (SysparamDetailConsant.is_del_false); Contoh AccountExample = GetCondition (Account, StartTime, EndTime); if (null! = pageInfo && null! = PageInfo. {example.setLimItclAusestArt (pageInfo.getPagestArt ()); example.setlimitclauseCount (pageInfo.getPagecount ());} example.setOrderByClause ("create_time desc"); list <countmappers.selectByExample (contoh); intercount = AccountMapper.CountByExample (contoh); pageInfo.setList (daftar); pageInfo.setTotalCount (totalCount); return pageInfo;} Menerapkan kondisi kueri seperti a = x dan (b = xx atau b = xxx)
Meskipun lebih mudah untuk menghasilkan kode secara otomatis, semuanya memiliki kelebihan dan kekurangannya. MyBatis Generator tidak memiliki cara untuk menghasilkan fungsi gabungan tabel, sehingga hanya dapat ditambahkan secara manual. Penyambungan bersyarat seperti a = x dan (b = xx atau b = xxx) diimplementasikan sebagai berikut.
AccountExample AccountExample = New AccountExample (); AccountExample.Criteria criteria = AccountExample.CreateCriteria (). Andtypeequalto ("4"); criteria.addcriterion (string.format ("(id =%d atau id =%d)", 34,35)); Daftar; Daftar; Accounts> Accounts. Namun, Anda perlu memodifikasi kode kecil, memodifikasi baris ke -524 dari Contoh Generator di bawah org.mybatis.generator.codegen.mybatis3.model Paket, ubah metode.setVisability (javaVisability.protected); ke method.setVisability (javavisability.public);
Perubahan telah disinkronkan ke GitHub.
Di atas adalah kode dan penggunaan generator mybatis yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!