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 und die Suche nach Ergebnissätzen. MyBatis kann einfache XML oder Anmerkungen zur Konfiguration und Originalzuordnung verwenden, um Schnittstellen und Javas Pojos (einfache alte Java -Objekte) in Datenbank in der Datenbank zu kartieren.
Mybatis download: https://github.com/mybatis/mybatis-3/releases
MyBatis -Instanz
CRUD -Operation auf einer Benutzertabelle:
Benutzertabelle:
- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Engine = InnoDB Auto_increment = 6 Standard charSet = utf8;---------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- platzieren '); in "user`" -Werte einfügen (' 4 ',' lu ',' 28 ',' irgendein Ort '); In "user`" einfügen (' 5 ',' xiaoxun ',' 27 ',' nanjing ');Erstellen Sie im SRC -Verzeichnis eine MyBatis XML -Konfigurationsdateikonfiguration.xml
<? alias = "user" type = "com.mybatis.test.user"/> </typeAliaSes> <Environments default = "Entwicklung"> <Environment ID = "Entwicklung"> <transactionManager type = "jdbc"/> <dataSource type = "Pooled"> <Eigentum name = "Treiber" com.mysql.jdbc.driver " value = "jdbc: mysql: //127.0.0.1: 3306/mybatis"/> <Eigenschaft name = "userername" value = "root"/> <Eigenschaft name = "password" value = "admin"/> </dataSource> </Umgebung> </Umgebungen> <!-mybatis macper-Datei, jede xM-MACPER-Datei, jede xM-MAPPER-Datei, jede xM-MAPPER-Datei, jede xM-MAPRUGURATION-DATEL. ressourcen = "com/mybatis/test/user.xml"/> </mappers> </configuration>
Definieren Sie die user.xml -Konfigurationsdatei von User Mappers
<? namespace="com.mybatis.test.IUserOperation"> <!-- select statement--> <select id="selectUserByID" parameterType="int" resultType="User"> select * from `user` where user.id = #{id} </select> <!-- The defined resultMap can solve the problem of inconsistent property names and database column names of the class --> <!-- <resultMap type = "user" id = "userresultmap"> <id Eigenschaft = "id" column = "user_id" /> <result properation = "userername" column = "user_username" /> <resulting property = "userage" column = "user_userage" /> <resulting Eigenschaft = "userAddress" column. resultMap points to the previously defined --> <!-- <select id="selectUsersByName" parameterType="string" resultMap="userResultMap"> select * from user where user.userName = #{userName} </select> --> <select id="selectUsersByName" parameterType="string" resultType="User"> select * from user where user.userName = #{Benutzername} </select> <!-Suchanweisung, die einen Anstiegsvorgang durchführt. Die ID und der ParameterType entsprechen dem Namen und dem Parameter -Typ der Adduser -Methode in der Iuseroperationsschnittstelle. UseGeneratedKeys, der auf "True" eingestellt ist, gibt an, dass MyBatis den von der Datenbank automatisch generierten Primärschlüssel erhalten möchte. keyProperty = "id" gibt an, dass das in die ID -Eigenschaft des Benutzers erhaltenen Primärschlüssel in die Eigenschaft des Benutzers injiziert wird. id = "updateUser" parameterType = "user"> aktualisieren Benutzer set username = {username}, userage = {userage}, userAddress = {userAddress} wobei id =#{id} </update> <delete id = "deleteusere" parameterType = "int"> in int "> in int"> delete#######################################################|Die Konfigurationsdatei implementiert die Zuordnungsbeziehung zwischen Schnittstellen und SQL -Anweisungen. SelectUsersByName verwendet zwei Methoden, um es zu implementieren. Kommentiert ist auch eine Implementierung. Die Verwendung von resultMap kann die Zuordnungsbeziehung zwischen Attribut und Datenbankspaltenname definieren. Eigenschaft ist Eigenschaft der Klasse, Spalte ist der Spaltenname der Tabelle oder kann ein Alias für den Spaltennamen der Tabelle sein!
Benutzerklassendefinition:
Paket com.mybatis.test; öffentliche Klasse Benutzer {private int id; privater String -Benutzername; private int userage; private String userAddress; public int getid () {return id; } public void setId (int id) {this.id = id; } public String getUnername () {return userername; } public void setUnername (String -Benutzername) {this.username = userername; } public int getSerage () {{userage zurückgeben; } public void setUserage (int userage) {this.userage = userage; } public String getUserAddress () {userAddress; } public void setUserAddress (String userAddress) {this.userAddress = userAddress; } @Override public String toString () {return this.username+""+this.userage+""+this.userAddress; }}IUSEROPERATON Definition:
Paket com.mybatis.test; import java.util.list; public interface iuseroperation {public user selectUserById (int id); public list <Nutzern> selectUsersByName (String -Benutzername); public void adduser (Benutzerbenutzer); public void UpdateUser (Benutzerbenutzer); Public void DeleteUser (int id); }Die Iuseroperation entspricht der Operationsschnittstelle, dem Funktionsnamen und der Betriebs -ID -Namen in MyBatis 'XML -Konfigurationsdatei.
Testunterrichtstest:
Paket com.mybatis.test; import Java.io.reader; import Java.util.list; import org.apache.ibatis.io.resources; import org.apache.ibatis.Session.sqlSession; importieren org. org.apache.ibatis.session.sqlSessionFactoryBuilder; public class Test {private statische SQLSessionFactory SQLSessionFactory; privater statischer Leser -Leser; static {try {reader = ressourcen.getResourceAsReader ("configuration.xml"); SQLSessionFactory = new SQLSessionFactoryBuilder (). Build (Reader); } catch (Ausnahme e) {e.printstacktrace (); }} public static sqlSessionFactory getSession () {return SQLSessionFactory; } public void getUserById (int userID) {SQLSession Session = SQLSessionFactory.OpenSession (); try {iuserOperation userOperation = session .GetMapper (iuseroperation.class); User user = userOperation.SelectUserById (userID); if (user! }} endlich {session.close (); }} public void getUserList (String -Benutzername) {SQLSession Session = SQLSessionFactory.OpenSession (); try {iuserOperation userOperation = session .GetMapper (iuseroperation.class); Liste <Unters> user = userOperation.SelectusersByName (Benutzername); für (Benutzer Benutzer: Benutzer) {system.out.println (user.getId () + ":" + user.getUnername () + ":" + user.getUerAddress ()); }} endlich {session.close (); }} / ** * Beiten nach Addition * / public void addUser () {user user = new user (); user.setUseraddress ("place"); user.setUserName ("test_add"); user.SetUserage (30); SQLSession Session = SQLSessionFactory.OpenSession (); try {iuserOperation userOperation = session .GetMapper (iuseroperation.class); userOperation.adduser (Benutzer); Session.Commit (); System.out.println ("Benutzer -ID hinzufügen:" + user.getId ()); } endlich {Session.close (); }} / ** * Commit * / public void updateUser () {SQLSession Session = SQLSessionFactory.OpenSession (); try {iuserOperation userOperation = session .GetMapper (iuseroperation.class); User user = userOperation.SelectUserById (1); if (user! = null) {user.setUserAddress ("ein neuer Ort"); userOperation.Updateuser (Benutzer); Session.Commit (); }} endlich {session.close (); }} /*** Verpflichten Sie nach dem Löschen. * * @param id */ public void deleteUser (int id) {sqlSession session = sqlSessionFactory.OpenSession (); try {iuserOperation userOperation = session .GetMapper (iuseroperation.class); userOperation.deleteUser (id); Session.Commit (); } endlich {Session.close (); }} public static void main (String [] args) {try {Test test = new Test (); // test.getUserById (1); // test.getUserList ("test1"); // test.adduser (); // test.updateuser (); // test.deleteUser (6); } catch (Ausnahme e) {System.out.println (e.getMessage ()); }}} Code -Download: MyBaitsSimpledemo_JB51.rar
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.