Pengantar Mybatis
Mybatis adalah kerangka kerja lapisan kegigihan yang sangat baik yang mendukung pertanyaan SQL biasa, prosedur tersimpan dan pemetaan lanjutan. Mybatis menghilangkan pengaturan manual dari hampir semua kode dan parameter JDBC dan mencari set hasil. Mybatis dapat menggunakan XML sederhana atau anotasi untuk konfigurasi dan pemetaan asli untuk memetakan antarmuka dan pojos Java (objek java tua biasa) ke dalam catatan dalam database.
MyBatis Unduh: https://github.com/mybatis/mybatis-3/releases
Instance mybatis
Operasi CRUD di Tabel Pengguna:
Tabel Pengguna:
------------------------------- Struktur Tabel untuk `user`-- ---------------------------- Tabel drop Jika ada` user`; buat tabel `user` (` id` int (11) bukan null auto_increment, `` `varchar (50) nol,` userage` int (11) default null, `` `` `` `` `` `` nullress `` nullress `` nullress ` Engine = innodb auto_increment = 6 charset default = utf8;------------------------------- Records of User-- ---------------------------- Sisipkan ke `User` Values ('1', 'Summer', '30', 'Shanghai'); masukkan ke nilai` User` ('2', 'test2', '22,' 22 '); SUZ NILAI PENGGUNA' ('2', 'TEST2', '22,' 22, '22,' 22, '22,' 2 22, '22, 'test1', '29', 'beberapa tempat'); masukkan ke dalam nilai `user` ('4', 'lu', '28', 'beberapa tempat'); masukkan ke dalam nilai` user` ('5', 'xiaoxun', '27', 'nanjing'); Buat konfigurasi file konfigurasi mybatis xml.xml <? Xml versi = "1.0" encoding = "UTF-8"?> <! Doctype Configuration Public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis/mybatis/mybig.3 MyBatis Alias Definisi-> <Typealiases> <Typealias alias = "user" type = "com.mybatis.test.user"/> </yypeAliases> <lingkungan default = "pengembangan"> <lingkungan = "pengembangan"> <TransactionManager = "JDBC"/<DataSource Type = "PoolsManager =" JDBC "/<DataSource Tipe =" value = "com.mysql.jdbc.driver"/> <name properti = "url" value = "jdbc: mysql: //127.0.0.1: 3306/mybatis"/> <name properti = "uSername" value = "root"/<properti nama = "kata sandi" value = "/! File mapper, setiap file konfigurasi XML sesuai dengan antarmuka -> <mappers> <mapper resource = "com/mybatis/test/user.xml"/> <mappers> </configuration> Tentukan file konfigurasi pengguna.xml pemetaan pengguna
<? Xml Version = "1.0" encoding = "utf-8"?> <! Doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper namespace = "com.mybatis.test.iuseroperation"> <!-pilih pernyataan-> <pilih id = "selectUserById" parameTerType = "int" resultType = "user"> pilih * dari `user` where! {Id} </pilih> <!-Hasil yang ditentukan oleh class`> type = "user" id = "userResultMap"> <id properti = "id" column = "user_id" /> <properti hasil = "nama pengguna" kolom = "user_username" /> <properti hasil = "userage" kolom = "user_userage" note of the retrect = "userAddress" column = "user_userAdress", note dari /> < /note the looks = "UserAddress" column = "user_useradress" The Listing "The Lister dari The Retrect-" UserAddress "column =" User_userAdress, The LIGRET " Poin Hasil Poin ke yang didefinisikan sebelumnya-> <!-<pilih id = "selectUsersByName" parameTerType = "string" resultMap = "userResultMap"> pilih * dari user where user.userName = #{userName} </select>-> <pilih id = "selecterussbyname" parametertype = "string" hancur = resultTer = "sound iD =" pexerUserSbyname "ParameterType =" string "hancur =" resultPer = "parserUserSbyname" parameterpype = "string" hancur = "hancur" hancur = "parametertype =" string "hancur =" hancur = "parameterpy =" string "hancur =" parameterpe = "string" hancur " #{UserName} </select> <!-Pilihan pernyataan SQL yang melakukan operasi peningkatan. ID dan parameterType sama dengan nama dan tipe parameter dari metode addUser di antarmuka iuseroperation. UsegeneratedKeys diatur ke "true" menunjukkan bahwa mybatis ingin mendapatkan kunci utama yang dihasilkan secara otomatis oleh database; KeyProperty = "ID" Menentukan menyuntikkan nilai kunci primer yang diperoleh ke dalam properti ID pengguna -> <masukkan id = "addUser" parameTerType = "user" useGeneratedKeys = "true" keyproperty = "id"> Insert ke User (Username, Userage, UserAddress) (#{Username},#{#{Userage {Userage {UserAdress) (#{Username},#{#{#{{Userage {{Userage) (#{Username},#{#{#{{Userage {{Userage {{{Userage {#{#{#{#{#{{Userage {{Userage) (#{#{#{#{#{#{#{#{Userage {Userage) id = "updateAser" parameTerType = "user"> UPDATE Pengguna Set UserName =#{username}, userage =#{userage}, userAddress =#{UserAddress} di mana id =#{id} </update> <delete id = "deleteUser" ParameterType = "ID"> Delete dari User> <delete = "deleteUser" ParameterType = "ID"> Delete dari User> <delete = "deleteUser" ParameterType = "ID"> </update> <delete = "deleteUser" ParameterType = "ID"> Delete dari User> File konfigurasi mengimplementasikan hubungan pemetaan antara antarmuka dan pernyataan SQL. SelectUsersByName menggunakan dua metode untuk mengimplementasikannya. Dikomentari juga merupakan implementasi. Menggunakan HasilMap dapat menentukan hubungan pemetaan antara atribut dan nama kolom basis data. Properti adalah properti dari kelas, kolom adalah nama kolom tabel, atau bisa menjadi alias untuk nama kolom tabel!
Definisi kelas pengguna:
Paket com.mybatis.test; pengguna kelas publik {private int id; private string username; private int userage; private string userAddress; public int getId () {return id;} public void setid (int id) {this.id = ID;} public string getUsername () {return username;} public void void publiced = public getUserName () {return username;} public void void publicer getUserAge() {return userAge;}public void setUserAge(int userAge) {this.userAge = userAge;}public String getUserAddress() {return userAddress;}public void setUserAddress(String userAddress) {this.userAddress = userAddress;}@Overridepublic String toString(){return this.userName+" "+this.userage+" "+this.useraddress;}} Definisi iuseroperaton:
package com.mybatis.test;import java.util.List;public interface IUserOperation {public User selectUserByID(int id);public List<User> selectUsersByName(String userName);public void addUser(User user);public void updateUser(User user);public void deleteUser(int id);} IUSEROPERASI sesuai dengan antarmuka operasi, nama fungsi dan nama ID operasi di file konfigurasi XML MyBatis.
Tes kelas tes:
Paket com.mybatis.test; impor java.io.reader; impor java.util.list; impor org.apache.ibatis.io.Resources; impor org.apache.ibatis.Session.sqlsession; impor org.apache.ibatis.Session.SqlSession org.apache.atisis.session.sqlsessionFactory; import org.apache.iathis.session.sqlSessionFactoryBuilder; tes kelas publik {private static SQLSessionFactory SQLSessionFactory; Private Static Reader Reader; static {try {reader = = Resources.getResourceAsReader("Configuration.xml");sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);} catch (Exception e) {e.printStackTrace();}}public static SqlSessionFactory getSession() {return sqlSessionFactory;}public void getUserByID(int UserId) {SQLSession session = sqlSessionFactory.opensession (); coba {iuseroperation userOperation = session.getMapper (iuseroperation.class); pengguna pengguna = UserOperoperation.selectusById (userId); if (user! = null) {System.out.println () (UserId); if User! = null) {System.out.println (Pengguna (UserId); user.getUserAddress ());}} akhirnya {session.close ();}} public void getUserList (string username) {sqlSession session = sqlSessionFactory.opensession (); coba {iuseroperation UserOperation = session.getMapper (iuseroperation.); UserOperation.SelectUsersByName (userName); untuk (pengguna pengguna: pengguna) {System.out.println (user.getId () + ":" + user.getUserName () + ":" + User.getUserAddress ());}} akhirnya {session.close ();}}} {{Sesi); User (); user.setUserAddress ("place"); user.setusername ("test_add"); user.setuserage (30); SQLSession Session = sqlSessionFactory.opensession (); coba {iuseroperation Useroperation = session.getMapper (iUserOperation.class); useroperation.adduser (user); session.commit (); System.out.println ("Tambahkan ID Pengguna:" + User.getId ());} akhirnya {session.close ();}}/*** Setelah modifikasi, komit*/void publik harus dilakukan committed* sqlSessionFactory.opensession (); coba {iuseroperation userOperation = session.getMapper (iuseroperation.class); user user = useroperation.selectuserbyid (1); if (user! = null) {user.setuserdress ("a new place"); userooperasi.UpdateUser) {User.setUserDress ("A New Place"); userooperasi. {session.close ();}}/*** Setelah penghapusan, komit.* @param id*/public void deleteUser (int id) {sqlsession session = sqlSessionFactory.opensession (); cobalah {iuseroperation UserOperation = Sesion.getMapper (iuseroperasi.); {iuseroperation = Sesi) (IUSEROPERASI.CRASS (IUSEROMERASI) (IDEMCLASS (iDRASS), IUSEROPERASI (SESSION (IUSEROPERASI.CLASS (IUSERETEMICE (IUSCLASS. {session.close ();}} public static void main (string [] args) {try {test test = test baru (); // test.getUserbyId (1); // test.getUserList ("test1"); // test.adduser (); // test.updateuser ("); // test.adduser (); // test.updateUser (); // test. {System.out.println (e.getMessage ());}}}Di atas adalah contoh kode mybatis implementasi penambahan, penghapusan, modifikasi, dan kueri (CRUD) 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!