Einführung in MyBatis:
MyBatis ist ein Open -Source -Projekt von Apache. Im Jahr 2010 wurde dieses Projekt von der Apache Software Foundation in Google Code verschoben und in MyBatis umbenannt. Im November 2013 nach Github ausgewandert.
MyBatis ist ein hervorragendes Rahmen für Persistenzschicht, das angepasste SQL, gespeicherte Verfahren und erweiterte Zuordnung unterstützt. MyBatis vermeidet fast den gesamten JDBC -Code und das manuelle Einstellen von Parametern und das Erhalten von Ergebnismengen. MyBatis kann einfache XML oder Anmerkungen verwenden, um native Informationen zu konfigurieren und zuzuordnen, Schnittstellen und Java -Pojos (einfache alte Java -Objekte) in Datenbank in der Datenbank.
1. Die Funktion von mybatis:
Einfach ausgedrückt, implementiert MyBatis die DAO -Ebene, die SQL über XML -Dateien und Karten auf PO konfiguriert.
2. Zitatpakete, die vorbereitet werden müssen
MyBatis-2.2.8.jar: MyBatis Framework wird verwendet
OJDBC6.jar: Datenbankverbindung
Konfiguration der MyBatis -Umgebung (hier ist eine separate Konfiguration von MyBatis):
Erstens: Download und importieren von MyBatis Jar -Paket
Die Download -Adresse von V3.4.5 lautet:
http://xiazai.vevb.com/201712/yuanma/mybatis-3.5.5.rar
Wenn Sie Version 3.4.5 nicht verwenden möchten, aber wenn Sie die Adresse vergessen, können wir direkt auf der offiziellen Website von github.com: mybatis suchen
Die Suchergebnisse sind in der Abbildung dargestellt:
Klicken Sie zu diesem Zeitpunkt auf das neueste herunterladen und wählen Sie dann die Version aus, die Sie herunterladen möchten.
Entpacken Sie das heruntergeladene komprimierte Paket und importieren Sie alle MyBatis-3.4.5.jar und das Glas in den Lib-Ordner in Eclipse. Zu diesem Zeitpunkt müssen Sie natürlich auch das JAR-Paket des MySQL-Treibers in MySQL-Connector-Java-5.1.44.jar importieren.
Da wir Maven hier nicht verwendet haben, ist die folgende Konfiguration nicht erforderlich, da wir alle Gläser manuell importiert haben:
<Depopenty> <gruppe> org.mybatis </Groupid> <artifactId> mybatis </artifactid> <version> 3.4.5 </Version> </abhängig>
2. Schreiben von Konfigurationsdateien
Erstellen Sie einen Quellordner in Ihrem eigenen Projekt, speichern Sie Ihr eigenes Konfigurationsdokument und erstellen Sie SQLMappersconfig.xml und kopieren Sie die folgende Konfiguration (die vom offizielle Beamte bereitgestellte offizielle Konfiguration, ändern Sie die offizielle Konfiguration in Ihre eigene):
<xml version = "1.0" coding = "utf-8"?> <! docType configurationPublic "-// mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd" <configuration "<Dumbatis-3-config. <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </umwelt> </Umgebungen> <mappers> <mapper ressourcen = "org/mybatis/Beispiel/blogmapper.xml"/> </mappers> </configuration>Die Konfiguration in SQLConnect.Properties lautet wie folgt:
sqldriver: com.mysql.jbdc.driversqlurl: MySQL: jbdc: //172.20.60.2/spectergk? useUnicode = true & charakteristisches Zeichnen = Utf8SQLUSERNAME: testsqluSerpwd: 111111
OK, bisher haben wir die grundlegende Konfiguration der Konfiguration abgeschlossen, die konfiguriert werden muss. Dies ist jedoch nur die Konfiguration von Config, Testcode:
public void functionTest () {//system.out.println("Start MyBatis "); InputStream InputStream = NULL; try {<br data-filtered = "filtered"> inputStream = ressourcen.getResourceAsStream ("SQLMAPConfig.xml"); } catch (ioException e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); } /** Factory erstellen* / sqlSessionFactory SQLSessionFactory = new SQLSessionFactoryBuilder (). Build (InputStream); / * * Öffnen ssion */ sqlSession sqlSession = sqlSessionFactory.OpenSession (); System.out.println (SQLSession); sqlSession.close (); try {inputStream.close (); } catch (ioException e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); }}Zu diesem Zeitpunkt ist der Druck ein Wert, der beweist, dass wir ihn erfolgreich konfiguriert haben, und wir können den Mapper für den Rest festlegen.
Zweitens: Die Erstellung und Verwendung von Mappern, da MyBatis Mapper dynamischen Proxy verwenden kann und wir hier direkt dynamischen Proxy verwenden:
Erstellen Sie im Pojo -Paket:
User.java
Erstellen Sie im Mappers -Paket:
UsMapper.java
Erstellen Sie im selben Verzeichnis wie SQLMappersconfig.xml:
User.xml
Und konfigurieren Sie den folgenden Code in SQLMappersconfig.xml:
<!-Im Folgenden ist der Paketname von com.spectergk.mybatis.pojo.user-!> <Typealises> <typealias type = "com.spectergk.mybatis.pojo.user" alias = "user"/> </> </> </> </typealias> <! Resource = "user.xml"/> </mappers>
Implementieren Sie eine einfache Addition, Löschung, Änderung und Suche der Datenbank. Die spezifische Implementierung ist wie folgt:
User.xml
<? Für die Implementierung dynamischer Proxy-> <mapper namespace = "com.spectergk.mybatis.mappers.usmaper"> <! Der von Benutzer bestandene Wert ist ParameterType-> <select id = "selectUserById" resultType = "Benutzer" ParameterType = "String"> Select * von Benutzer wobei uid = {v} </select> <!-fuzzy query basierend auf dem user-nuser-nuser-user-nuser-user-user-user-user-user-user-user-user-user-user-user-user-user-user-user. "%"#{v} "%"; </select> <!-Daten in die Datenbank einfügen-> <Insert id = "InsertOner" ParameterType = "Benutzer"> In einen Benutzer (uid, username, realName, mobil, mainpid, sex) Werte (#{uid},#{{username}, {realname}),#{mobile {mobile {mobile {mobile {mobile {mobile {mobile {mobile {mobile, {mobile) einfügen. </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 (#{userername},#{realname},#{mobil},#{mainpid},#{sex}); </einfügen> <!-In Listenformular einfügen-> <Einfügen ID = "Insatener"> In Benutzer (UID, Benutzername, Realname, Mobile, Mainpid, Sex) Werte <foreach collection = "list" item = "item" trennungsseparator = "> einfügen. (#{item.uid},#{item.username},#{item.realname},#{item.mobile},#{item.mainpid},#{item.sex}) </foreach> <//<!-als Array-> < user(uid,username,realname,mobile,mainpid,sex) values <foreach collection="array" item="item" separator=","> (#{item.uid},#{item.username},#{item.realname},#{item.mobile},#{item.mainpid},#{item.sex}) </foreach> </einfügen> <!-Benutzer aktualisieren-> <update id = "updateUser" parameterType = "user"> aktualisieren username ID = "DeletemOreuers"> Löschen Sie vom Benutzer, wobei uid in (<foreach collectionDa es dynamisch geladen wird, schreiben Sie einfach die Schnittstelle hierher:
Paket com.spectergk.mybatis.mappers; import java.util.list; import com.spectergk.mybatis.pojo.user; public interface usermapper { / * * Abfrage basierend auf der Benutzer -ID * / public user byid (String -ID); / * * Fuzzy -Abfrage basierend auf dem Benutzernamen */ publiclist <Benetzwerks <Unters> SelectUsersByUserName (String -Benutzername); /** Ein Benutzer einfügen*/ public void InsertOreuser (Benutzerbenutzer); / * * Ein Benutzer einfügen und die ID des eingefügten Benutzers zurückgeben /** Mehrere Benutzer einfügen*/ public void InsertUers (Liste <Unters> Benutzer); / * * Fügen Sie mehrere Benutzer ein, um Array zu übertragen */ public void InsertUsersArray (Benutzer [] Benutzer); /** updateUser update*/ public void updateUser (Benutzerbenutzer); / * * Löschen eines */ public void DeleteOneuser (String uid); / * * Deletemoreer löschen mehrere */ public void deletemOreuers (list <string> uids);}Aufgrund des Testcodes wird hier nur Fuzzy -Testcode geschrieben:
// public void fuzzysearch () {System.out.println ("myBatis starten"); InputStream InputStream = NULL; try {inputStream = ressourcen.getResourceAsStream ("sqlmapconfig.xml"); } catch (ioException e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); } /** Factory erstellen* / this.sqlSessionFactory = new SQLSessionFactoryBuilder (). Build (InputStream); / * * Öffnen ssion */ sqlSession sqlSession = this.sqlSessionFactory.OpenSession (); System.out.println (SQLSession); UsMapper userMapper = sqlSession.getMapper (UsMapper.Class); Liste <Unters> user = userMapper.SelectusersByUnername ("liu"); für (Benutzer Benutzer: Benutzer) {System.out.println (Benutzer); } sqlSession.close (); }Zusammenfassen
Das obige ist der Beispielcode für die Konstruktion und Verwendung von MyBatis -Umgebung, die Ihnen vom Herausgeber vorgestellt wurde. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!