Pengantar Mybatis
Pendahuluan Mybatis adalah Ibatis, yang awalnya merupakan proyek open source dari Apache. Pada 2010, proyek ini dipindahkan dari Apache Software Foundation ke Google Code dan berganti nama menjadi Mybatis.
Mybatis adalah kerangka kerja lapisan kegigihan yang sangat baik yang mendukung pertanyaan SQL biasa, prosedur tersimpan dan pemetaan lanjutan. Mybatis menghilangkan pengaturan manual hampir semua kode dan parameter JDBC dan pengambilan set hasil. Mybatis menggunakan XML sederhana atau anotasi untuk konfigurasi dan pemetaan asli, antarmuka pemetaan dan pojos Java (merencanakan objek java lama, objek java biasa) ke dalam catatan dalam database.
Langkah -langkah berikut diperkenalkan pada pembangunan lingkungan Mybatis.
1) Perkenalkan paket MyBatis-3.4.1.jar di bawah proyek, dan kemudian perkenalkan Paket Database (MySQL, MSSQL ..).
2) Buat file konfigurasi baru conf.xml di bawah src
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Doctype configuration public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configurasi/configuration <driguration>-- ... ... Resource = "jdbc.properties" /> <!-Mengkonfigurasi lingkungan operasi mybatis-> <lingkungan default = "pengembangan"> <lingkungan id = "pengembangan"> <!-type = "JDBC" mewakili penggunaan JDBC: JDBC JDBC-<! Pooled, Unpooled, JNDI-> <!-Pooled menunjukkan dukungan untuk kumpulan koneksi sumber data JDBC-> <!-tidak dikerjakan menunjukkan tidak mendukung kumpulan koneksi sumber data-> <!-jndi menunjukkan dukungan untuk kumpulan sumber data eksternal-> <datasource type = "pooled" <Properten name = "value =" $ "$" $ "$" NAME = "$" NOLE "$" A $ "$" value = "$ {url}"/> <name properti = "username" value = "$ {username}"/> <name properti = "kata sandi" value = "$ {password}"/> </dateSource> </vervice> </Environments> <mappers> <papper sumber daya = "userMapper.xml"//lingkunganDi sini, informasi penyimpanan basis data disimpan melalui file konfigurasi eksternal, sehingga informasi penyimpanan database jdbc.properties ditambahkan.
driver = com.microsoft.sqlserver.jdbc.sqlServerDriverUrl = jdbc: sqlserver: //127.0.0.1; databasename = testusername = sapassword = 123456
3) Buat file pemetaan usermapper.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Doctype mapper public "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namer = "haPer =" ht "hter. Pengguna-> <pilih id = "queryUsers" resultType = "hw.com.pojo.user"> pilih * dari ms_user </selection> <selectid = "queryuserbyId" resultType = "hw.com.pojo.user" parameterType = "int"> Pilih * dari ms_user di mana id =#{Id} </ParameterType = "int"> dari ms_user di mana ID =#{} <} </Parameterping = "int"> dari ms_user di mana id =#{} <} <} </perper </perper(Perlu dicatat di sini bahwa atribut namespace adalah, karena contoh ini dipetakan melalui antarmuka, sehingga atribut namespace harus ditulis sebagai jalur antarmuka) Gambar terlampir:
4) Buat kelas antarmuka pemetaan
Paket hw.com.ser; import java.util.list; import hw.com.pojo.user; antarmuka publik iuser {daftar publik <user> queryUsers (); User Public UserUserbyId (int id);}5) Buat SQLSessionFactory
Paket hw.com.util; import java.io.ioException; import java.io.inputstream; import java.io.inputStreamReader; impor java.io.reader; impor java.util.properties; impor org.apache.ibatis.io.Resours; impor; impor. org.apache.Ibatis.Session.SQLSessionFactory; Impor org.apache.Ibatis.Session.SQLSessionFactoryBuilder; kelas publik SQLSessionFactoryutil {sqlsessionFacessionFacTory statis private static sqlsessionFactory = null; kelas akhir statis private class_lock = sqlSessionfactoryutil.class; private sqlSessionFactoryutil () {} public static SQLSessionFactory initsqlSessionFactory () {String Resource = "conf.xml"; InputStream inputStream = null; coba {inputStream = Resources.getResourCeAsstream (sumber daya); } catch (ioException e) {e.printstacktrace (); } disinkronkan (class_lock) {if (sqlSessionFactory == null) {sqlSessionFactory = SQLSessionFactoryBuilder baru (). Build (inputStream); }} return SQLSessionFactory; } public static SQLSession opensqlSession () {if (sqlSessionFactory == null) {initsqlSessionFactory (); } return sqlSessionFactory.opensession (); }}6) Buat pojo
paket hw.com.pojo; import java.util.date; pengguna kelas publik {private string id; nama pengguna string pribadi; Private String userpwd; DeptmentID int pribadi; Private String usertrueName; email string pribadi; Private int LearnCenterid; tanggal pribadi dibuat; tanggal pribadi LastModifyDate; Private Int Userstatus; pengguna publik () {super (); // TODO Stub Konstruktor yang Dihasilkan Otomatis} Public String getId () {return ID; } public void setId (string id) {id = id; } public string getUserName () {return username; } public void setusername (string username) {username = username; } string publik getUserPwd () {return userpwd; } public void setUserPWD (string userpwd) {userpwd = userpwd; } public int getDeptmentId () {return deptmentId; } public void setDeptmentId (int dependentId) {deptimentId = dependentId; } public String getUserTrUeName () {return usertrueName; } public void setUserTrUeName (String usertrueName) {usertrueName = usertrueName; } public String geteMail () {return email; } public void seteMail (string email) {email = email; } public int getLeArnCenterId () {return learnCenterId; } public void setLearnCenterId (int learnCenterId) {learnCenterId = learnCenterId; } tanggal publik getCreateDate () {return createdate; } public void setCreateDate (tanggal dibuat) {createTate = createTate; } tanggal publik getLastModifyDate () {return lastmodifyDate; } public void setLastModifyDate (tanggal lastModifyDate) {lastModifyDate = lastModifyDate; } public int getUserStatus () {return userstatus; } public void setuserstatus (int userstatus) {userstatus = userstatus; } @Override Public String ToString () {return "user [id =" + id + ", username =" + username + ", userpwd =" + userpwd + ", deptmentId =" + deptmentId + ", usertrueName =" + usertruename + ", email =" + email + ", learneName =" + usertruename + ", email =" + email + ", learneder =" + usertruename + ", email =" + email + ", learninger =" + Usertruename + ", email =" + Email + ", learninger =" + legacCenter + ", createder", createDer = ", legaene =" + legaeneRer = ", email +", legaename = " LastModifyDate = " + lastModifyDate +", userstatus = " + userstatus +"] "; }}7) Lakukan tes di bawah metode utama
Paket hw.com.day1.main; import java.util.list; impor org.apache.ibatis.session.sqlsession; import hw.com.pojo.user; import hw.com.ser.iuser; import hw.com.util.sqlsessionFactoryutil; kelas publik Usertest {public static static static static static static static voidsessionUctoryutil; kelas publik Usertest {public static static static static static static static static void void) sqlsession = null; coba {sqlSession = sqlSessionFactoryutil.opensqlsession (); Iuser iuser = sqlSession.getMapper (iuser.class); Daftar <User> user = iUser.queryUsers (); if (users.size ()> 0) {for (pengguna pengguna: pengguna) {system.out.println (user.toString ()); }}} catch (Exception e) {e.printstacktrace (); }}}