Vorbereitung
Um ein neues Java -Projekt oder ein Java WWeb -Projekt zu erstellen, müssen Sie die folgenden Pakete importieren.
Die grundlegenden Arbeiten wurden abgeschlossen, und dann werden wir anfangen, zum Thema zu gelangen.
Erstellen Sie eine neue Entitätsklasse
Erstellen Sie eine neue Entitätsklasse, die der Datenbanktabelle entspricht
Paket com.edu.hpu.domain; /***@Author Administrator*Entitätsklasse, die der Benutzertabelle entspricht privater Zeichenfolge Name; privates int Alter; // Die Attribute public int getId () {return id; } public void setId (int id) {this.id = id; } public String getName () {return name; } public void setName (String -Name) {this.name = name; } public int getage () {return ay; } public void setage (int age) {this.age = älter; } // ToString -Methode hinzufügen @Override public String toString () {return "user [id =" + id + ", name =" + name + ", ay" + alter + "]"; }}Fügen Sie die MyBatis -Werkzeugklasse hinzu
Die Werkzeugklasse wurde wie unten gezeigt hinzugefügt,
Paket com.edu.hpu.util; importieren java.io.inputstream; import org.apache.ibatis.session.sqlSession; import org.apache.ibatis.session.sqlSessionFactory; import org.apache.ibatis.session.sqlSessionFactory; import org.apache.ibatis.session.sqlSessionFactoryBuilder; öffentliche Klasse myBatisutil {/** * Get SqlSessionFactory * @Return SQLSessionFactory */public static SqlSessionFactory getQlSessionFactory () {String ressource = "conff.xml"; // Klicken Sie auf die Konfigurationsdatei inputStream = myBatisutil.class.class.getClass.getClass.getClass. SQLSessionFactory Factory = new SQLSessionFactoryBuilder (). Build (IS); Rückgabefabrik; } / ** * sqlSession * @return SQLSession * / public static SQLSession gotsQlSession () {returnsQlSessionFactory (). OpenSession (); } /** * SQLSession * @param isAutoCommit * TRUE bedeutet, dass das erstellte SQLSession -Objekt die Transaktion automatisch übermittelt, nachdem SQL ausgeführt wurde. Zu diesem Zeitpunkt müssen wir SQLSession.commit () manuell anrufen, um die Transaktion * @return SQLSession */ public static SQLSession GetQlSession (boolean isautocommit) {returnQlSessionFactory () zu übermitteln. OpenSession (Isautocommit); }}Es gibt zwei Methoden zum Hinzufügen, Löschen, Suchen und Ändern von Daten mithilfe von MyBatis, nämlich Konfigurationsdateioperation und Annotationsoperation.
Betrieb über Konfigurationsdateien
Die Datenbankkonfigurationsdatei lautet wie folgt, konfigurieren Sie die Datenbankinformationen.
<? <transactionManager type = "jdbc" /> <!-Datenbankverbindungsinformationen konfigurieren. value = "jdbc: mysql: // localhost: 3306/test? UsMapper.xml-Datei, usermapper.xml befindet sich im Paket com.edu.hpu.mapping, so dass die Ressource als com/edu/hpu/maping/usermapper.xml-> <mapper ressource = "com/edu/hpu/maping/usermapper.xml"/> <!-<!-<MAKTPER/> </> <!-<!-<!-<MAKTPER/>-> <!
Konfigurieren Sie die Anweisungsdatei der Operation Database, wie unten gezeigt, wie unten gezeigt.
<? namespace = "com.edu.hpu.mapping.usermapper"> <!- Abfrage-SQL-Anweisungen im Auswahl-Tag schreiben und das ID-Attribut des SELECT-Tags auf GETUSER festlegen. Der ID -Attributwert muss eindeutig sein. Das ParameterType -Attribut kann nicht wiederverwendet werden, um den in der Abfrage verwendeten Parametertyp anzuzeigen. Das Ergebnistyp-Attribut zeigt den von der Abfrageergebnis zurückgegebenen Ergebnis-Set-Typ an. resultType = "com.edu.hpu.domain.user"> select * von Benutzern wob -> <delete id = "DeleteUser" parameterType = "int"> löschen von Benutzern wob <!-alle Benutzer abfragen-> <select id = "getAllusers" resultType = "com.edu.hpu.domain.user
Die Datenbank -Addition, Löschung und Überarbeitung durch Konfigurationsdateien wurde im Wesentlichen abgeschlossen. Als nächstes wird die Testklasse gegeben.
Tests können wie unten gezeigt durchgeführt werden.
Paket com.edu.hpu.test; importieren java.util.list; import com.edu.hpu.domain.user; import com.edu.hpu.util.mybatisutil; import org.junit.test; import org.apache.ibatis.session.sqlSession; public class test2 {@test public void testadd () {// sqlSession sqlSession = mybatisutil.getSQLSession (false); SqlSession sqlSession = mybatisutil.getSQLSession (true); / ** * MAP SQL Identification String, * com.edu.hpu.mapping.usmapper ist der Wert des Namespace -Attributs des Mapper -Tags in der usermapper.xml -Datei, * Adduser ist der ID -Attributwert des Einfügens des Einfügens, und der SQL kann durch den ID -Attribut -Tag des Einfügens des Einfügens der Einfügung gefunden werden. "com.edu.hpu.mapping.usermapper.adduser"; // map SQL Identification String String user user = new user (); user.setName ("neuer Benutzer xiaohuang"); user.Setage (20); // Durchführen Sie die Einfügeoperation int retresult = sqlSession.insert (Anweisung, Benutzer); // Transaktionen manuell einreichen // sqlSession.commit (); // nach der Ausführung von SQL mit SQLSession SQLSession.close (); System.out.println (retresult); } @Test public void testupdate () {SQLSession SQLSession = myBatisutil.getSQLSession (true); /** * MAP SQL Identification String, * com.edu.hpu.mapping.usermapper ist der Wert des Namespace -Attributs des Mapper -Tags in der Datei userMapper.xml, * UpdateUser ist der ID -Attributwert des Update -Tags. Die auszuführende SQL kann über den ID -Attributwert des Update -Tags */String Anweisung = "com.edu.hpu.mapping.usMapper.Updateuser"; // Mapping SQL ID String user user = new User () gefunden werden. user.setId (3); user.setName ("Hallo Welt"); user.Setage (25); // Führen Sie die Änderungsoperation int retresult = sqlSession.update (Anweisung, Benutzer) aus; // Nach der Ausführung von SQL mit SQLSession müssen Sie SQLSession SQLSession.close () schließen; System.out.println (retresult); } @Test public void testDelete () {SQLSession SQLSession = myBatisutil.getSQLSession (true); / ** * MAP SQL Identification String, * com.edu.hpu.mapping.usmapper ist der Wert des Namespace -Attributs des Mapper -Tags in der usermapper.xml -Datei, * DeleteUser ist der ID -Attributwert des Delete -Tags, und der SQL kann durch den ID -Attribut -Wert des Delete -Tags gefunden werden. "com.edu.hpu.mapping.usermapper.deleteUser"; // Die Identifikationszeichenfolge der SQL zuordnen // eine löschliche Operation int retresult = sqlSession.delete (Anweisung, 4); // nach der Ausführung von SQL mit SQLSession SQLSession.close (); System.out.println (retresult); } @Test public void testgetall () {sqlSession sqlSession = mybatisutil.getSQLSession (); /** * Zuordnung der Identifikationszeichenfolge des SQL, * com.edu.hpu.mapping.usmapper ist der Wert des Namespace -Attributs des Mapper -Tags in der Datei userMapper.xml. * GetAllusers ist der ID -Attributwert des Select -Tags. Die zu ausgeführte SQL kann über den ID -Attributwert der SELECT -Tag */string Anweisung = "com.edu.hpu.mapping.usMapper.GetallUsers"; // Zuordnen der SQL -Identitätsstring // Ausführen des Abfragebetriebs und der automatischen Einkapselung des Abfrageergebnisses in der Liste <Benutzer> listeler = SELSession.Selekt (Select) gefunden werden. // Nach der Ausführung von SQL mit SQLSession müssen Sie SQLSession SQLSession.close () schließen; System.out.println (lstusers); }}Betrieb durch Anmerkungen
Der Betrieb durch Annotationen erfordert das Schreiben einer Schnittstelle, muss jedoch nicht implementiert werden, wie unten gezeigt.
Paket com.edu.hpu.mapping; importieren java.util.list; import com.edu.hpu.domain.user; import org.apache.ibatis.annotations.delete; import org.apache.ibatis.annotations.insert; import org.apache.ibatis.annotations.select; import org.apache.ibatis.annotations.update; /** * @Author GaCl * Definieren Sie die Schnittstelle für die SQL -Zuordnung, geben Sie die SQL an, die mit Annotationen ausgeführt werden soll. // Verwenden Sie die @Delete -Annotation, um die SQL anzugeben, die von der DeleteById -Methode @Delete ("von Benutzern löschen wob // Verwenden Sie die @Update -Annotation, um die SQL anzugeben, die von der Aktualisierungsmethode @UpDate ("Aktualisieren von Benutzern aktualisieren soll, name =#{name}, ay =#{ay} wob // Verwenden Sie die @Select -Annotation, um die SQL anzugeben, um die GetByID -Methode @select ("Select * von Benutzern auszuwählen, wobei ID =#{id}") public Benutzer getbyId (int id); // Verwenden Sie die @Select -Annotation, um die SQL anzugeben, um die GetAll -Methode @Select ("aus den Benutzern auszuwählen") öffentliche Liste <Benutzer> getAll () auszuführen. }Gleichzeitig müssen Sie die schriftliche Schnittstelle zur Datenbankkonfigurationsdatei hinzufügen und die folgende Anweisung in Conf.xml hinzufügen.
<maper/>
OK, es wurde im Grunde genommen abgeschlossen, hier ist die Testklasse, die getestet werden kann.
Paket com.edu.hpu.test; importieren java.util.list; import com.edu.hpu.domain.user; importieren com.edu.hpu.mapping.usermapper_11; import com.edu.hpu.util.mybatisutil; import org.apache.ibatis.session.sqlSession; import org.junit.test; / ***@Author Administrator*TEST -Annotation*/ public class test3 {@test public void testadd () {sqlSession SQLSession = mybatisutil.getSqlSession (true); // Erhalten Sie das Objekt der Implementierungsklasse der UsMapper -Schnittstelle. Das Objekt der Implementierungsklasse der UsMapper -Schnittstelle wird dynamisch durch sqlSession.getMapper (UsMapper.Class) konstruiert. UserMapper_11 mapper = sqlSession.getMapper (userMapper_11.class); User user = new user (); user.setName ("Große Weisheit ist dumm"); user.Setage (20); int add = mapper.add (Benutzer); // SQLSession muss nach der Ausführung von SQL mit SQLSession SQLSession.close () geschlossen werden; System.out.println (add); } @Test public void testupdate () {SQLSession SQLSession = myBatisutil.getSQLSession (true); // Erhalten Sie das Objekt der Implementierungsklasse der UsMapper -Schnittstelle. Das Objekt der Implementierungsklasse der UsMapper -Schnittstelle wird dynamisch durch sqlSession.getMapper (userMapper.class) usermapper_11 mapper = sqlSession.getMapper (UsMapper_11.class) konstruiert. User user = new user (); user.setId (3); user.setName ("großer Klang und Sound"); user.Setage (26); // Führen Sie die Änderungsoperation int retresult = mapper.update (Benutzer) aus; // Nach der Ausführung von SQL mit SQLSession müssen Sie SQLSession SQLSession.close () schließen; System.out.println (retresult); } @Test public void testDelete () {SQLSession SQLSession = myBatisutil.getSQLSession (true); // Erhalten Sie das Objekt der Implementierungsklasse der UsMapper -Schnittstelle, und das Objekt der Implementierungsklasse der UsMapper -Schnittstelle ist dynamisch von SQLSession.getMapper (UsMapper.Class) usermapper_11 mapper = sqlSession.getMapper (usermapper_11.class) erstellt. // Führen Sie die löschende Operation int retresult = mapper.deletebyId (7) aus; // Nachdem Sie SQLSession zur Ausführung von SQL verwendet haben, müssen Sie SQLSession SQLSession.close () schließen; System.out.println (retresult); } @Test public void testgetUser () {SQLSession SQLSession = myBatisutil.getSQLSession (); // Erhalten Sie das Objekt der Implementierungsklasse der UsMapper -Schnittstelle. Das Objekt der Implementierungsklasse der UsMapperi -Schnittstelle wird dynamisch durch sqlSession.getMapper (userMapper.class) usermapper_11 mapper = sqlSession.getMapper (UsMapper_11.class) konstruiert. // Führen Sie den Abfragebetrieb aus und verkapseln Sie das Abfrageergebnis automatisch in den Benutzer return user user = mapper.getById (1). // Nachdem Sie SQLSession zur Ausführung von SQL verwendet haben, müssen Sie SQLSession SQLSession.close () schließen; System.out.println (Benutzer); } @Test public void testgetall () {sqlSession sqlSession = mybatisutil.getSQLSession (); // Erhalten Sie das Objekt der Implementierungsklasse der UsMapper -Schnittstelle. Das Objekt der Implementierungsklasse der UsMapper -Schnittstelle wird dynamisch durch sqlSession.getMapper (userMapper.class) usermapper_11 mapper = sqlSession.getMapper (UsMapper_11.class) konstruiert. // Abfragebetriebe ausführen und die Abfrageergebnisse automatisch in List <Bener> Rückgabeliste <BENE> LSTUSERS = MAPPER.getall () integrieren; // Nach der Verwendung von SQLSession Execution SQL müssen Sie SQLSession SQLSession.close () schließen; System.out.println (lstusers); }}Das obige ist eine detaillierte Erläuterung der MyBatis -Implementierung von Datenabbau, Löschung und Überarbeitung, die der Editor Ihnen vorgestellt hat. 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!