Einführung in 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; ---------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ',' summer ',' 30 ',' Shanghai ') in "Benutzer" -Werte (' 2 ',', ',', ',' 22, ',', ',', ',', '22', 'Suzhou'; 'test1', '29', 'irgendein Ort'); in "user`" einfügen ('4', 'lu', '28', 'irgendein Ort'); in "user" -Werte einfügen ('5', 'xiaoxun', '27', 'nanjing'); Erstellen Sie eine MyBatis XML-Konfigurationsdateikonfiguration.xml <xml Version = "1.0" coding = "utf-8"?> <! DocType configuration public "-// mybatis.org//dtd config 3.0 // en" http://mybatis.org/dtd/Mybatis- MyBatis alias Definition-> <typealises> <typealias alias = "user" type = "com.mybatis.test.User value = "com.mysql.jdbc.driver"/> <Eigenschaft name = "url" value = "jdbc: mysql: //127.0.0.1: 3306/mybatis"/> <Eigenschaft name = "username" value = "root"/> </adminmentes "-Kasselswort". Mapper -Datei, jede XML -Konfigurationsdatei entspricht einer Schnittstelle -> <Mappers> <mapper resource = "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> <!-Auswahl SQL Anweisung, 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; public class user {private int id; private String username; private int userage; private String userAddress; public int getId () {return id;} public void setid (int id) {this.id = id;} public String getusername () isername; getUserAge() {return userAge;}public void setUserAge(int userAge) {this.userAge = userAge;}public String getUserAddress() {return userAddress;}public void setUserAddress(String userAddress) {this.userAddress = userAddress;}@Overridepublic 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); publiclist <Unter <user> selectUsersByName (String -Benutzername); öffentlicher void adduser (user user); public void updateUser (user user); public void void deleteer (int iduser);}; 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; private statische Leser -Leser; SQLSessionFactoryBuilder (). Build (Reader);} catch (Ausnahme E) {e.printstacktrace ();}} public static sqlSessionFactory getSession () {return SQLSessionFactory;} öffentliche Void -Void -Void -IND -Session -Session -Session -Session -SessionFactory (); userOperation = session.getMapper (iuseroperation.class); user user getUserList (String -Benutzername) {SQLSession Session user.getUnername () + ":" + user.getUerAddress ());}} Schließlich {session.close ();}}/*** Nach Addition, Commit*/public void addUser () {user user = new user (); user.setuserAddress ("place"); username ("test_add"); sqlSessionFactory.openSession (); try {iuseroperation userOperation = session.getMapper (iuseroperation.class); userOperation.adduser (user); session.commit (); System.out.println hinzufügen ("user id:" + user.getId ();} schließlich {{Session.closes (); Seien Sie verpflichtet* updateUser () {SQLSession Session place "); userOperation.updateuser (user); session.commit ();}} schließlich {session.close ();}}/*** Nach dem Deletion. Session.GetMapper (iuseroperation.class); userOperation.deleteUser (id); Sitzung.Commit ();} schließlich {session.close ();}} public static void main (String [] args) {try {test test = new test (); // test.getuserby (1); // test.getuserlist ("; test.adduser (); // test.updateuser (); // test.deleteUser (6);} catch (Ausnahme E) {System.out.println (e.getMessage ());}}}Das obige ist der Beispielcode für MyBatis -Implementierung von Addition, Löschung, Änderung und Abfrage (CRUD), die Ihnen vom Editor 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!