Schnelle Popularisierung
1. Was ist mybatis
MyBatis ist ein hervorragendes Rahmen für Persistenzschicht, das einfache SQL -Abfragen, gespeicherte Verfahren und erweiterte Zuordnung unterstützt.
MyBatis eliminiert manuelle Einstellungen fast aller JDBC -Code und -Parameter sowie die Suche in der Ergebnisse des Ergebnissatzes. MyBatis kann einfache XML oder Anmerkungen zur Konfiguration und ursprüngliche Zuordnung, Mapping -Schnittstellen und Javas Pojos (einfache alte Java -Objekte) in Datenbank in der Datenbank verwenden.
MyBatis implementiert die Schnittstellenbindung und macht es bequemer zu verwenden.
Verbesserte Objektbeziehungszuordnung, effizienter
MyBatis verwendet leistungsstarke Ausdrücke auf OGNL-basierter Ausdrücke, um andere Elemente zu beseitigen.
2. Funktionale Architektur
3. Ausführungsprozess
Detaillierte Erklärung des Prinzips:
Die MyBatis -Anwendung erstellt basierend auf der XML -Konfigurationsdatei eine SQLSessionFactory. Die Konfiguration stammt von zwei Stellen gemäß der Konfiguration, eine ist die Konfigurationsdatei und die andere die Annotation des Java -Codes und erhält eine SQLSession. SQLSession enthält alle Methoden, die zur Ausführung von SQL erforderlich sind. Sie können die zugeordneten SQL -Anweisungen direkt über die SQLSession -Instanz ausführen, um die Datenzusatz, Löschung, Änderung und Abfrage, Transaktionsunterwerfung usw. zu vervollständigen und SQLSession nach der Verwendung zu schließen.
Schauen wir uns die wichtigsten Punkte dieses Artikels an. MyBatis einfache Anmerkungen
Schlüsselanmerkungen Wörter:
@Insert: SQL einfügen, die Syntax ist genau das gleiche wie XML Insert SQL
@Select: Abfrage SQL und die Syntax ist genau das gleiche wie XML Select SQL
@Update: SQL aktualisieren und die Syntax von XML -Update SQL genau das gleiche ist
@Delete: SQL löschen und die Syntax ist genau das gleiche wie XML Löschen SQL
@Param: Geben Sie den Ginseng ein
@Results: Ergebnissammlung
@Result: Ergebnisse
1. Domänenmodell:
public class userdo {private long id; private String username; privates date gmtcreate; privat date gmtmodified; public long getId () {return id;} public void setid (long id) {this.id = id;} public String getusername () {return username; getgmtcreate () {return gmtcreate;} public void setgMtcreate (Datum gmtcreate) {this.gmtcreate = gmtcreate;} public date date getgmtmodified () {return gmtmodified; gmtmodified;}}2. Schnittstellendefinition:
public interface userDao {@insert ("In t_user (gmt_create, gmt_modified, user_name) values (now (), now (), #{username})") public int Insert (@param ("Benutzername") String username); @Select ("Select * von t_user wob @Param ("id") Long id); @Delete ("löschen von t_user wob }3.. MyBatis XML -Konfiguration:
<!-MyBatis Annotation-> <bean id = " <!-mybatis interface-> <Eigenschaft name = "SQLSessionFactory" ref = "
Auf diese Weise vervollständigen wir die Demo von MyBatis mit Anmerkungen. Fühlt es sich nicht sehr einfach an?
Wenn Sie mit MyBatis XML vertraut sind, müssen wir in den meisten Fällen die Feldnamen der Datenbanktabellen zum Unterricht zuordnen. MyBatis -Annotation bietet auch Zuordnungsfunktionen, und die Syntax ist ähnlich.
@Select ("SELECT * von TSP_Template wobNatürlich ist das obige nur so, dass SQL nicht mehr einfach sein kann. Denken Sie darüber nach, wenn wir diese Anforderung haben, aktualisieren wir Benutzerinformationen und hoffen, den angegebenen Attributwert zu aktualisieren. Mit anderen Worten, wir erzeugen SQL dynamisch wie XML. Dann können wir die @Update -Annotation einfach und grob verwenden. Glücklicherweise liefert der mächtige MyBatis auch eine dynamische SQL -Montage.
Dynamisches SQL
Die entsprechende Beziehung ist wie folgt
@Insert: @InsertProvider
@Select: @selectProvider
@Update: @UpdateProvider
@Delete: @DeleteProvider
Die vier Annotations -Kennungen von Provider verwenden dynamisches SQL und verwenden das Syntaxformat:
@UpdateProvider (Typ = userProvider.class, method = "updatesql"))
So konstruieren Sie dynamische SQL
public class userProvider {/*** uDpate* @param userdo userDo* @return*/public String updatesql (endgültige userdo userDo) {return New SQL () {{update ("t_user"); set ("gmt_modified = now ()"); wenn (userDo.GetoName (). #{userername} ");} where (" id = #{id}} ");}}. toString ();}}Die in diesem Artikel erwähnten Wissenspunkte sind relativ einfach. Wenn Sie ein detailliertes Verständnis benötigen, lesen Sie bitte das offizielle Website-Dokument oder lesen Sie den Quellcode.
Zusammenfassen:
1. Wie wähle ich XML und Anmerkungen aus? Es variiert von Person zu Person. Jeder hat seine eigenen Codierungsgewohnheiten. XML und Anmerkungen haben ihre eigenen Vor- und Nachteile. Die Nachteile von XML: Wenn die Modellattribute geändert werden, muss es von Do zu DAO zu XML geändert werden. Es wird ein Schmerz sein, darüber nachzudenken. ~ XML hat auch Vorteile. Die Wiederverwendung von SQL -Fragments ist bequem und die Syntax ist zugänglich. Im Gegensatz zu Anmerkungen müssen Sie eine dynamische Anweisung erstellen und eine Klasse erstellen. Wenn ein Segment von SQL an mehreren Stellen verwiesen wird, erscheint der Code überflüssig. Zu diesem Zeitpunkt muss XML verwendet werden, um es zusammen zu extrahieren und zu verwenden. Ich habe mich über MyBatis -Annotation beschwert. Wäre diese Annotation nicht nutzlos? Nein, MyBatis eignet sich für Szenarien, in denen Modellattribute häufig geändert werden, da sie mit Reflexion und dynamisch konstruierter SQL kombiniert werden können (reiner Unsinn, persönliche Ideen sollten realisiert werden und es wird ein weiterer Tag erfolgen). Es kann gesagt werden, dass die Vorteile von MyBatis Annotation die Mängel von XML gut ausmachen. Die beiden ergänzen sich gegenseitig ~
Das obige ist ein kurzer Start in die vom Herausgeber eingeführten Anmerkungen zur MyBatis -Entwicklung. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!