1. GetMapper () Schnittstelle
Analyse: GetMapper () Schnittstelle idept.class Definiert eine Schnittstelle,
Montage einer Methode, die nicht implementiert wird. In besonderer Weise muss jede Methode, die das Gebäude ausleihen, mit dem ID -Attribut in der kleinen Konfiguration übereinstimmen.
Über Proxy: Generieren Sie den Namen der Implementierungsklassenname der Schnittstelle, beibehalten Sie den Namen $$ DEPT_ABC, SELECTDEPTBYNO () im zugrunde liegenden MyBatis
Es entspricht einem starken Typ
Z.B
Schritt 1: Definieren Sie eine Schnittstelle in cn.happy.dao
Paket cn.happy.dao; import java.util.list; import cn.happy.entity
Schritt 2: idept.xml Konfiguration kleine Konfiguration
Analyse: Das ID -Attribut in Select sollte dem Grenzflächenmethodennamen in der Schnittstelle übereinstimmen. Der Namespace -Attributpaketpaket Name von Mapper ist cn.happy.dao.ideptdao interface
<? namespace = "cn.happy.dao.ideptdao"> <select id = "getAlldept" resultType = "cn.happy.entity.dept"> select * aus Dept </select> </mapper>
Schritt 3: Testklasse
Analyse: Es gibt zwei Möglichkeiten, alle Informationen anzuzeigen
1) Sitzung.SelectList ("cn.happy.dao.ideptdao.getallDept"); ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
2) ideptdao mapper = session.getMapper (ideptdao.class); entspricht der Implementierungsklasse, GetMapper ist ein starker Typ
// 01View Alle Informationen getMapper () Der Methodenname der Schnittstellenklasse sollte mit der ID der kleinen Konfiguration @TestPublic void testSelectall () {SQLSession Session = Factory.OpenSession (); // Wew Type ======================================================== Die Entitätsklasse der SQLSession -Sitzung sind, entsprechen. Der ID -Name in der kleinen Konfiguration =========== String/*LIST <Dept> list = session.SelectList ("cn.happy.dao.ideptdao.getAlldept"); für (Dept Dept: List) {System.out.println (Dept.get. Implementierungsklasse in Memory =================== einem starken Typ. für (Abteilung: Liste) {System.out.println (Dept.getDeptname ());} Schritt 4: Verwenden Sie eine große Konfiguration im gesamten Text
<? Konfiguration zu Alias-> <typealises> <typealias type = "cn.resultmap.enetity.eMP" alias = "emp"/> </typealias> <Environments Default = "Development"> <Environment ID = "Development"> <transactionManager type = "jdbc"/> <DataSource-Typ = "Pooled"> <Probanden name = "driver"/> <DataSource-Typ = "Pooled"> <bodens name value = "oracle.jdbc.oracledriver" /> <Eigenschaft name = "url" value = "jdbc: oracle: dünn: @LocalHost: 1521: orcl" /> <Eigenschaft name = "userername" value = "sa" /> <Eigenschaftsname = "Passwort" value = "1" /> < /dataSource. Datenbanktabelle-> <mapper> <mapper ressourcen = "cn/resultmap/enetity/emp.xml"/> </mappers> </configuration>
2. Ergebnismap -Tag
Analyse: Das verwendete Szenario ist, dass die Eigenschaften der Entitätsklasse und der Datenbank konsistent sein müssen, wenn die Eigenschaften der Entitätsklasse nicht übereinstimmen. (Ich habe zuvor eine Entitätsklasse verwendet)
ZB durchsucht alle Mitarbeiter und verbundenen Abteilungen
Schritt 1: Erstellen Sie eine Schnittstelle
Paket cn.resultmap.dao; import java.util.list; import cn.resultmap.enetity
Schritt 2: Konfigurieren Sie die Eigenschaften in der kleinen Konfiguration
Analyse: Für eine Partei mit einer großen Mitarbeiterperspektive verwenden Sie bitte Association, um jedes Attribut einer Partei einzubetten. (Wenn der Assoziation entfernt wird, ist es der grundlegende Ergebnismap)
<? namespace = "cn.resultmap.dao.iempdao"> <resultmap type = "cn.resultmap.enetity Mitarbeiterperspektive, bitte verwenden Sie Assoziation -> <Assoziation Eigentum E
Schritt 3: Testklasse
// resultMap: Der Attributname der Entität und der Feldname der Tabelle stimmen garantiert mit resultMap //, wenn Sie NulleLexception melden, siehe, ob die Zuordnung der kleinen Konfiguration konfiguriert ist. resultMap ist @TestPublic void testAllEMP () {SQLSession Session = Factory.OpenSession (); for (EMP EMP: AllEMPs) {System.out.println (emp.getEmpname ()+"/t Affiliate -Abteilung"+emp.getDept (). getDeptname ());} session.close ();} Schritt 4: Führen Sie kleine Konfigurationen in großen Konfigurationen ein
3.. SQL -Spalten extrahieren
Analyse: SQL -Tag vereinfacht das Codevolumen in kleinen Konfiguration
<!-Verwendung von SQL-Tags-> <SQL ID = "Spalten"> D.Deptno, d.deptname </sql> <!-Verwendung von SQL-Tags-> <select id = "getAllEmps" resultMap = "empmap"> select e.
4. Alias alias
Analyse: Schreiben Sie über große Konfigurationen, damit Alias in kleinen Konfigurationen referenziert werden können
<!-Ändern Sie den Attributwert des Typs in der Alias alias-Konfiguration in alias-> <typealiases> <typealias type = "cn.resultmap.enetity.emp" alias = "emp"/> </typealias>
5. Dynamischer Betrieb
Analyse: Die Hauptelemente zur Implementierung dynamischer SQL sind:
Wenn Sie ausgewählt werden (wann, sonst), wo eingestellt wurde
ZB den Menschen in Peking Stadt ansehen
Schritt 1: Schnittstelle
Paket cn.resultmap.dao; import java.util.list; import cn.resultmap.enetity
Schritt 2: Small Version = "1.0" coding = "utf-8"?>
<! DocType mapperpublic "-// mybatis.org//dtd mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace type = "cn.resultmap.enetity.eMP" id = "empmap"> <id Property = "Empid" Column = "Empid"/> <result property = "empname" columne = "empname"/> <resulting Properation = "EmpCity" Column = "Empcity"/> <! javatype = "cn.resultmap.enetity.dept"> <resulting property = "deptname" column = "deptname"/> <result properation = "deptno" column = "deptno"/> </resultingMap> <select id = "getAllemps" resultmap = "empmap"> select e.* E.Deptno = D. test = "empid!
Schritt 3: Test
// Dynamische Abfrage @TestPublic void testSelect () {SQLSession Session = factory.OpenSession (); emp = new EMP (); // emp.setEmpname ("331"); EMP.SetempCity ("SH"); LIST <EMP> LISTE = Liste = Session.SelectList ("cn.resultmap.dao.iempdao.TestallempbUSelect", EMP); für (EMP EMPS: LIST) {System.out.println (emps.getempname ());} session.close ();} Schritt 4: Führen Sie kleine Konfigurationen in großen Konfigurationen ein
ZB den Informationen zur Abteilung ändern
Schritt 1: Schnittstelle
Schritt 2: Kleine Konfiguration
<? namespace = "cn.resultmap.dao.ideptdao"> <resultmap type = "cn.happy.entity resultMap = "DeptresultMap"> select d.*, e.* Aus Abteilung D, emp ewhere d.deptno = e.deptno und d.deptno =#{deptno} </select> <!-modify dynamic query-> <select ide = "testupdate" parameterType Dept <Set> <if test = "Deptno! Schritt 3: Test
/*** Dynamische Modifikation**/@testpublic void testupdate () {SQLSession Session = factory.openSession (); Dept Dept = New Dept (); Dept.SetDeptname ("Finanzabteilung"); Dept.SetDeptno (1); int count = int count = Session.Update ("cn.resultmap.dao.ideptdao.testupdate", Dept); Sitzung.Commit (); System.out.println (count); Session.close ();}Das obige ist eine detaillierte Erläuterung von MyBatis 'GetMapper () Schnittstelle, Ergebnismap -Tag, alias alias, versuchen, SQL -Spalten und dynamische Operationen zu extrahieren. 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!