Pengantar Mybatis:
Mybatis adalah proyek open source dari Apache. Pada 2010, proyek ini dipindahkan dari Apache Software Foundation ke Google Code dan berganti nama menjadi Mybatis. Bermigrasi ke GitHub pada November 2013.
Mybatis adalah kerangka kerja lapisan kegigihan yang sangat baik yang mendukung SQL yang disesuaikan, prosedur tersimpan, dan pemetaan lanjutan. Mybatis menghindari hampir semua kode JDBC dan mengatur parameter secara manual dan mendapatkan set hasil. Mybatis dapat menggunakan XML sederhana atau anotasi untuk mengonfigurasi dan memetakan informasi asli, pemetaan antarmuka dan Java Pojos (objek Java lama biasa) ke dalam catatan dalam database.
1. Fungsi mybatis:
Sederhananya, MyBatis mengimplementasikan lapisan DAO, yang mengkonfigurasi SQL melalui file XML dan peta ke PO.
2. Paket kutipan yang perlu disiapkan
mybatis-3.2.8.jar: kerangka kerja mybatis digunakan
ojdbc6.jar: Koneksi database
Konfigurasi Lingkungan Mybatis (Berikut adalah konfigurasi mybatis yang terpisah):
Pertama: Unduh dan Impor Paket Jar Mybatis
Alamat unduhan v3.4.5 adalah:
http://xiazai.vevb.com/201712/yuanma/mybatis-3.4.5.rar
Jika Anda tidak ingin menggunakan versi 3.4.5, tetapi jika Anda lupa alamatnya, kami dapat mencari langsung di situs web resmi github.com: mybatis
Hasil pencarian ditunjukkan pada gambar:
Klik Unduh terbaru saat ini, lalu pilih versi yang ingin Anda unduh.
Buka zip paket terkompresi yang diunduh dan impor semua mybatis-3.4.5.jar dan toples di folder lib ke gerhana. Tentu saja, saat ini, Anda juga perlu mengimpor paket JAR driver MySQL ke MySQL-Connector-Java-5.1.44.jar.
Karena kami tidak menggunakan Maven di sini, konfigurasi berikut tidak diperlukan, karena kami telah mengimpor semua stoples secara manual:
<dependency> <GroupId> org.mybatis </groupid> <ArTifactId> mybatis </artifactid> <version> 3.4.5 </version> </dependency>
2. Menulis file konfigurasi
Buat folder sumber di proyek Anda sendiri, simpan dokumen konfigurasi Anda sendiri dan buat sqlmappersconfig.xml, dan salin konfigurasi berikut (konfigurasi resmi yang disediakan oleh resmi, ubah konfigurasi resmi ke Anda sendiri):
<? Xml Version = "1.0" encoding = "utf-8"?> <! Doctype configurationpublic "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd" <"Lingkungan =" Lingkungan = "Lingkungan =" Lingkungan = "Lingkungan =" Lingkungan = "Lingkungan =" " <transactionManager type = "jdbc"/> <dATasource type = "pooled"> <properti name = "driver" value = "$ {driver}"/> <name properti = "url" value = "$ {url}"/<nama properti = "nilai USERNAME =" $ {UserName {URL} "/</" NAME = "USERNAME" = "$ {UserName {Url}"/</"Name =" USERNAME "=" $ {USERNAME {URL} "/</"/"NAME USERCE" Nilai "$" $ "$" </urvepers> </survirments> <mappers> <mapper resource = "org/mybatis/example/blogmapper.xml"/> </pappers> </configuration>Konfigurasi di SQLConnect.Properties adalah sebagai berikut:
SQLDRIVER: com.mysql.jbdc.driversqlurl: mysql: jbdc: //172.20.60.2/spectergk? UseUnicode = true & karakterencoding = utf8sqLusername: testsqluserpwd: 1111111
OK sejauh ini, kami telah menyelesaikan konfigurasi dasar konfigurasi yang perlu dikonfigurasi, tetapi ini hanya konfigurasi konfigurasi, kode uji:
public void functionTest () {//system.out.println("Start mybatis "); InputStream inputStream = null; coba {<br data-filtered = "difiltered"> inputStream = resource.getResourceAsstream ("sqlmapconfig.xml"); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); } /** Buat pabrik* / sqlSessionFactory sqlSessionFactory = SQLSessionFactoryBuilder baru (). Build (InputStream); / * * Buka ssion */ sqlsession sqlsession = sqlSessionFactory.opensession (); System.out.println (SQLSession); sqlsession.close (); coba {inputStream.close (); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); }}Pada saat ini, pencetakan adalah nilai yang membuktikan bahwa kami telah berhasil mengonfigurasinya, dan kami dapat mengatur mapper untuk sisanya.
Kedua: Pembuatan dan Penggunaan Mappers, karena Mybatis Mapper dapat menggunakan proxy dinamis, dan kami langsung menggunakan proxy dinamis di sini:
Buat dalam paket pojo:
User.java
Buat paket Mappers:
Usermapper.java
Buat di direktori yang sama dengan sqlmappersconfig.xml:
User.xml
Dan konfigurasikan kode berikut di sqlmappersconfig.xml:
<!-Berikut ini adalah alias nama paket com.spectergk.mybatis.pojo.user-!> <yypealiases> <typealias type = "com.spectergk.mybatis.pojo.user" alias = "user"/</typealiases> <!-memuat sumber daya peta petak itu memetakan peta peta peta peta peta peta peta peta peta peta peta peta peta p dari petak p dari petak itu memetakan peta p dari petak p dari memetakan p dari mappap p dari mappape mappaper resource = "user.xml"/> </phappers>
Menerapkan penambahan sederhana, penghapusan, modifikasi, dan pencarian database. Implementasi spesifik adalah sebagai berikut:
User.xml
<? Xml Version = "1.0" encoding = "utf-8"?> <! Doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/poperping poord/mybatis-3-mapper Proxy Dynamic-> <mapper namespace = "com.spectergk.mybatis.mappers.usermapper"> <!-Nilai pengembalian yang dikonfigurasi di sini adalah pengguna ini karena ganti nama telah dikonfigurasi dalam sqlmappersconfig.xml-> <!-query nilai pengembalian pengguna sesuai dengan id yang digunakan. Nilai yang dilewati oleh pengguna adalah parameterType-> <pilih id = "selectUserById" resultType = "user" parameTerType = "string"> Select * dari pengguna di mana uid = #{v} </selection> <!-fuzzy kueri berdasarkan name pengguna- PARAME-> <pilih ID = "" SelectUsersByUserName "realname" Paramer "Paramerping =" STORE "STREUSERSBYUSERNAME" PARAM PARAM PAMERLE "PARAM PAMERLE =" STORETLE = "STOREUSSBYUSERNAME" "%"#{v} "%"; </select> <!-- Insert data into the database--> <insert id="insertOneUser" parameterType="User"> INSERT into user(uid,username,realname,mobile,mainpid,sex) values(#{uid},#{username},#{realname},#{mobile},#{mainpid},#{sex}); </insert> <!-- The automatically generated uid that inserts data and returns --> <insert id="insertOneUserGetid" parameterType="User"> <selectKey keyProperty="uid" keyColumn="uid" resultType="String" order="AFTER"> SELECT LAST_INSERT_ID() </selectKey> INSERT into user(username,realname,mobile,mainpid,sex) values (#{username},#{realname},#{seluler},#{mainpid},#{sex}); </sert> <!-masukkan formulir daftar-> <masukkan id = "insetusers"> masukkan ke dalam pengguna (uid, nama pengguna, realname, seluler, mainpid, jenis kelamin) nilai <foreach collection = "list" item = "item" sparator = "," (#{item.uid},#{item.userName},#{item.RealName},#{item.mobile},#{item.mainpid},#{item.sex}) </foreach> </masukkan <!-masukkan sebagai sebuah array-> <insert id = " Pengguna (uid, nama pengguna, realName, seluler, mainpid, seks) nilai <freeach collection = "array" item = "item" sparator = ","> (#{item.uid},#{item.userName},#{item.realname},#{item.mobile},#{{items.realname},#{item.mobile},#{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{), </sert> <!-Perbarui pengguna-> <update id = "updateAser" parameTerType = "user"> UPDATE Pengguna Set UserName = #{UserName} di mana uid = #{uid} </update> <!-hapus pengguna-> <delete id = "deleteoneSer" parameterType = "string" id = "deleteMoreUsers"> hapus dari pengguna di mana uid in (<freeach collection = "list" item = "item" sparator = ","> #{item} </foreach>) </delete> </mapper>Karena memuat secara dinamis, cukup tulis antarmuka di sini:
Paket com.spectergk.mybatis.mappers; import java.util.list; import com.spectergk.mybatis.pojo.user; antarmuka publik Usermapper { / * * kueri berdasarkan ID pengguna * / Pengguna Public Penggulian Public (ID String); / * * Kueri fuzzy berdasarkan nama pengguna */ daftar publik <user> selectUsersByUserName (string username); /** Masukkan pengguna*/ public void insertOneUser (pengguna pengguna); / * * Masukkan pengguna dan kembalikan ID dari pengguna yang dimasukkan */ public void insertOneSerGetId (pengguna pengguna); /** Masukkan beberapa pengguna*/ public void insertUsers (daftar <user> pengguna); / * * Masukkan beberapa pengguna untuk mengirimkan array */ public void insertUserArray (pengguna [] pengguna); /** Pembaruan UpdateAser*/ Public Void UpdateAser (pengguna pengguna); / * * Hapus satu */ public void deleteOneUser (string uid); / * * DeleteMoreUsers menghapus beberapa */ public void deleteMoreUsers (Daftar <String> uids);}Karena kode uji, hanya kode uji fuzzy yang ditulis di sini:
// query public void fuzzysearch () {System.out.println ("Start mybatis"); InputStream inputStream = null; coba {inputStream = Resources.getResourCeAsstream ("sqlmapconfig.xml"); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); } /** Buat pabrik* / this.sqlSessionFactory = SQLSessionFactoryBuilder () baru baru (inputStream); / * * Buka ssion */ sqlsession sqlsession = this.sqlSessionFactory.opensession (); System.out.println (SQLSession); Usermapper usermapper = sqlSession.getMapper (usermapper.class); Daftar <User> user = usermapper.selectusersbyusername ("Liu"); untuk (pengguna pengguna: pengguna) {System.out.println (pengguna); } sqlsession.close (); }Meringkaskan
Di atas adalah kode contoh untuk konstruksi dan penggunaan lingkungan 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!