Warum brauche ich MyBatis?
MyBatis ist ein Java -Orm -Framework, und Orm ist entstanden, um die Entwicklung zu vereinfachen. Die anfängliche Entwicklungsmethode war, dass die Geschäftslogik und die Datenbankabfragelogik getrennt wurden, entweder SQL -Anweisungen in einem Programm geschrieben oder SQL -gespeicherte Verfahren aufgerufen wurden. Dies führt zu der Notwendigkeit, zwischen Sprachlogik und SQL -Logik zu wechseln, was zu einer ineffizienten Entwicklung führt. Daher ist eine Reihe von ORM -Frameworks entstanden. Das ORM -Framework entspricht Datenbanktabellen und Java -Objekten. Beim Betrieb der Datenbank müssen Sie nur die Java -Objekte des Objekts bedienen, z.
Warum brauche ich einen MyBatis -Generator?
Obwohl es das MyBatis -Framework gibt, erfordert das Erlernen von MyBatis auch Lernkosten, insbesondere die Konfiguration der von ihnen erforderlichen XML -Dateien, die ziemlich umständlich sind, und Fehler treten in der Konfiguration auf, was nicht einfach zu lokalisieren ist. Wenn es unerklärliche Fehler oder große Mengen von Objekten gibt, die erzeugt werden müssen, gibt es oft das Gefühl, nur ungern zu leben und im Geist zu wandern. Deshalb kam MyBatis -Generator.
Es erfordert nur eine einfache Konfiguration, um die Erzeugung großer Mengen von Tabellen an MyBatis -Java -Objekte zu vervollständigen. Es ist nicht nur schnell, sondern hat auch keine Fehler, sodass Entwickler sich wirklich auf die Entwicklung der Geschäftslogik konzentrieren können.
Die offizielle MyBatis-Generatorfunktion ist relativ einfach und wurde nicht für etwas komplexe Paginationsfunktionen, Batch-Einfügungsfunktionen usw. implementiert, die in der Entwicklung unweigerlich verwendet werden, aber ausgewählte Plug-in-Funktionen unterstützt.
Ich habe das Tool von MyBatis Generation, das wir normalerweise verwenden, mit GitHub verwendet, das Pagination, Batchinsertion und Serialisierungsfunktionen integriert hat. Sie können es hier überprüfen und haben bereits vorgestellt, wie man es benutzt.
MyBatis Generator Dateistruktur
Die generierte Datei enthält drei Kategorien:
1. Modellentitätsdatei generiert eine Datenbanktabelle eine Modellentität.
2.Modelexample -Datei, diese Datei- und Entitätsdatei befinden sich im selben Verzeichnis und werden hauptsächlich zur Abfrage der bedingten Konstruktion verwendet.
3. In dieser Schnittstelle werden die Methoden zur Schnittstellendatei- und Datenbetriebsmethoden definiert.
4.Mapper XML -Konfigurationsdatei;
Konfigurieren Sie den Dateigenerierungspfad in der Konfigurationsdatei und legen Sie den entsprechenden Paketnamen fest, um die entsprechende Verzeichnisstruktur und die Dateien zu generieren. Ich habe das generierte Verzeichnis auf das Testverzeichnis festgelegt, der Name des Entitätspakets lautet com.fengzheng.dao.entity, der Name der Schnittstellenpaketpaket lautet com.fengzheng.dao.mapper, und dann ist die generierte Dateiverzeichnisstruktur in der folgenden Abbildung dargestellt:
So schreiben Sie Code
Alle Methodenaufrufe stammen aus der generierten Schnittstellendatei. Im Frühjahr MVC ist es notwendig, es dem Anrufer zu erklären. Die Verwendung einer Blacklist -Schnittstelle als Beispiel ist die generierte Schnittstellendatei BlackListipMapper, sodass der Anrufer diese Schnittstelle wie folgt deklarieren muss:
@AutowiredPrivate BlackListipMapper BlackListipMapper;
Datenbankabfrage
Abfrage ist die am häufigsten verwendete Funktion. Die folgende Methode besteht darin, Datensätze abzufragen, deren IP ein bestimmter Wert ist. Wenn Sie den Primärschlüssel kennen, können Sie die SelectByPrimaryKey -Methode verwenden.
public BlackListip get (String ip) {BlackListipExample Beispiel = new BlackListipExample (); Die Methode zum Aufrufen der Methode ist ähnlich. Weitere Informationen finden Sie in der Einführung der entsprechenden Dokumente.
Sortieren
public BlackListip get (String ip) {BlackListipExample Beispiel = new BlackListipExample (); Beispiel. // sortieren nach Erstellungszeitbeispiel.Createcriteria (). Andipequalto (IP); Liste <BlackListip> BlackListiplist = BlackListMapper.SelectByExample (Beispiel); if (BlackListiplist!Pagination
public pageInfo liste (Kontokonto, pageInfo pageInfo, String StartTime, String EndTime) {conto.setIsdel (sysparamdetailconstant.is_del_false); AccountExample Beispiel = getCondition (account, startTime, endzeit); if (null! = pageInfo && null! {example.setLimitclausestart (pageInfo.getPagestart ()); AccountMapper.CountByExample (Beispiel); pageInfo.setList (Liste); pageInfo.settotalCount (TotalCount); Rückgabe pageInfo;} Implementieren Sie Abfragebedingungen wie a = x und (b = xx oder b = xxx)
Obwohl es zweckmäßig ist, automatisch Code zu generieren, hat alles seine Vor- und Nachteile. MyBatis Generator hat keine Möglichkeit, Tabellenverbindungsfunktion zu generieren, sodass er nur manuell hinzugefügt werden kann. Bedingter Spleißen wie a = x und (b = xx oder b = xxx) wird wie folgt implementiert.
AccountExample accountExample = new AccountExample (); AccountExample.Criteria Criteria = AccountExample.Createcriteria (). UndTypequalto ("4"); Kriterien Sie müssen jedoch einen kleinen Code ändern, die 524. Zeile von Beispielgenerator unter dem org.mybatis.generator.codegen.mybatis3.model -Paket, Änderungsmethode.Setvisability (javavisability.Protected) ändern. zur Methode.Setvisability (Javavizability.Public);
Änderungen wurden mit GitHub synchronisiert.
Das obige ist der Code und die Verwendung von MyBatis -Generator, die Ihnen vom Herausgeber vorgestellt wurden. 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!