Einführung in MyBatis
MyBatis 'Vorgänger war Ibatis, das ursprünglich ein Open -Source -Projekt von Apache war. Im Jahr 2010 wurde dieses Projekt von der Apache Software Foundation in Google Code verschoben und in MyBatis umbenannt.
MyBatis ist ein hervorragendes Rahmen für Persistenzschicht, das einfache SQL -Abfragen, gespeicherte Verfahren und erweiterte Zuordnung unterstützt. MyBatis eliminiert die manuelle Einstellung fast aller JDBC -Code und -Parameter und das Abrufen der Ergebnissätze. MyBatis verwendet einfache XML oder Anmerkungen zur Konfiguration und ursprüngliche Zuordnung, Mapping -Schnittstellen und Javas Pojos (Plan alte Java -Objekte planen, gewöhnliche Java -Objekte) in Datenbank in der Datenbank.
Die folgenden Schritte werden in den Bau der MyBatis -Umgebung eingeführt.
1) Stellen Sie das Paket myBatis-3.4.1.jar unter das Projekt vor und stellen Sie dann das Paket für Datenbank (MySQL, MSSQL ..) ein.
2) Erstellen Sie eine neue Konfigurationsdatei conf.xml unter SRC
<xml Version = "1.0" coding = "utf-8"?> <! docType configuration public "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtdend"> & <--> & · FOLLICION-> & · FOLLICURAUS-> & · FOLLICION-><! ressourcen = "jdbc.properties" /> <!-Konfigurieren Sie die MyBatis-Betriebsumgebung-> <Umgebungen default = "Development"> <Environment ID = "Entwicklung"> <!-Typ = "JDBC" repräsentiert die Verwendung von JDBCs Commit und Rollback, um Transaktionen zu verwalten-> <transactionManager Type = "JDBC" /<! Pooled, Unpooled, JNDI-> <!-Pooled zeigt die Unterstützung des JDBC-Datenquellenverbindungspools an-> <!-Unpool zeigt an, dass der Datenquellenverbindungspool nicht unterstützt wird. value = "$ {url}"/> <Eigenschaft name = "userername" value = "$ {userername}"/> <Eigenschaft name = "password" value = "{password}"/> </dataSource> </umwelt> </umwelt> <mapper> <mapper ressourcen = "usermaper.xml"/> </mappers> </</(mappers> </konfiguration>Hier werden die Datenbankspeicherinformationen über externe Konfigurationsdateien gespeichert, sodass eine Datenbankspeicherinformationen von jdbc.properties hinzugefügt werden.
triver = com.microsoft.sqlserver.jdbc.sqlserverdriverurl = jdbc: SQLServer: //127.0.1; databaseName = testusername = sapassword = 123456
3) Erstellen Sie eine Mapping -Datei usermapper.xml
<? Benutzer-> <select id = "queryUsers" resultType = "hw.com.pojo.user"> select * von ms_user </select> <selectId = "queryUserById" resultType = "hw.com.pojo.user
(Hier sollte beachtet werden, dass das Namespace -Attribut lautet, da diese Instanz durch Schnittstellen abgebildet wird, sodass das Namespace -Attribut als Pfad der Schnittstelle geschrieben werden sollte.) Angehängte Abbildung:
4) Erstellen Sie eine Zuordnungsschnittstellenklasse
paket hw.com.ser; import java.util.list; import hw.com.pojo.user; public interface iuser {public list <Cern User> queryUsers (); Public User QueryUserById (int ID);}5) Erstellen Sie eine SQLSessionFactory
Paket hw.com.util; import java.io.ioxception; import Java.io.inputStream; Import Java.io.inputStreamReader; Import Java.io.reader; Import Java.util.Properties; org.apache.ibatis.session.sqlSessionfactory; import org.apache.ibatis.session.sqlSessionfactoryBuilder; öffentliche Klasse SQLSessionFactoryUtil {private statische statische SQLSessionFactory SQLSessionFactory = null; private statische endgültige Klasse class_lock = sqlSessionFactoryUtil.class; private sqlSessionFactoryUtil () {} public static SQLSessionFactory InitsqlSessionFactory () {String Resource = "Conf.xml"; InputStream InputStream = NULL; try {inputStream = ressourcen.getResourceAsStream (Ressource); } catch (ioException e) {e.printstacktrace (); } synchronized (class_lock) {if (sqlSessionFactory == null) {sqlSessionFactory = new SQLSessionFactoryBuilder (). Build (InputStream); }} return SQLSessionFactory; } public static sqlSession openensQlSession () {if (sqlSessionFactory == null) {InitsQlSessionFactory (); } return SQLSessionFactory.OpenSession (); }}6) Erstellen Sie ein Pojo
Paket hw.com.pojo; import java.util.date; public class user {private string id; privater String -Benutzername; private String userPWD; private int DeptmentId; private String userTruename; private Zeichenfolge E -Mail; privat int lernCenterid; privates Datum erstellt; privates Datum LastModifyDate; privat int userStatus; public user () {super (); // todo automatisch generierter Konstruktor Stub} public String getId () {return id; } public void setId (String id) {id = id; } public String getUnername () {return userername; } public void setUnername (String -Benutzername) {userername = userername; } public String getUserPWD () {return userPWD; } public void setUserpwd (String userPWD) {userpwd = userpwd; } public int getDeptmentId () {return deptmentId; } public void setDeptmentId (int abhängig) {deptmentId = abhängigID; } public String getUserTruename () {userTruename zurückgeben; } public void setUserTruename (String userTruename) {userTruename = userTruename; } public String getemail () {E -Mail zurückgeben; } public void setemail (String -E -Mail) {E -Mail = E -Mail; } public int getlearnCenterId () {return LearnCenterId; } public void setLearnCenterId (int LearnCenterId) {LearnCenterId = LearnCenterId; } public date getCreatedate () {return createdate; } public void setCreatedate (Datum erstellt) {createdate = createdate; } public date getLastModifyDate () {return lastModifyDate; } public void setLastModifyDate (Datum lastModifyDate) {lastModifyDate = lastModifyDate; } public int getSerSerStatus () {return ussterStatus; } public void setSerStatus (int userStatus) {userStatus = userStatus; } @Override public String toString() { return "User [Id=" + Id + ", UserName=" + UserName + ", UserPwd=" + UserPwd + ", DeptmentId=" + DeptmentId + ", UserTrueName=" + UserTrueName + ", Email=" + Email + ", LearnCenterId=" + LearnCenterId + ", CreateDate=" + CreateDate + ", LastModifyDate = " + lastModifyDate +", userStatus = " + userStatus +"] "; }}7) Führen Sie den Test unter der Hauptmethode durch
Paket hw.com.day1.main; import java.util.list; import org.apache.ibatis.session.sqlsesion; import hw.com.pojo.user hw.com.iuser; sqlSession = null; try {sqlSession = sqlSessionFactoryUtil.opensqlSession (); IUSER IUSER = SQLSession.getMapper (iuser.class); LIST <BENE> user = iUser.queryUsers (); if (user.size ()> 0) {für (Benutzer Benutzer: Benutzer) {System.out.println (user.toString ()); }}} catch (exception e) {e.printstacktrace (); }}}