Introduction à Mybatis
Le prédécesseur de Mybatis était Ibatis, qui était à l'origine un projet open source d'Apache. En 2010, ce projet a été déplacé de la Fondation du logiciel Apache à Google Code et a été renommé Mybatis.
MyBatis est un excellent cadre de couche de persistance qui prend en charge les requêtes SQL simples, les procédures stockées et la cartographie avancée. MyBatis élimine le paramètre manuel de presque tous les code et paramètres JDBC et la récupération des ensembles de résultats. MyBatis utilise des XML ou des annotations simples pour la configuration et la cartographie originale, les interfaces de cartographie et les Pojos de Java (Planifier les anciens objets Java, les objets Java ordinaires) en enregistrements dans la base de données.
Les étapes suivantes sont introduites à la construction de l'environnement MyBatis.
1) Présentez le package MyBatis-3.4.1.jar dans le cadre du projet, puis introduisez le package de base de données (MySQL, MSSQL ..).
2) Créez un nouveau fichier de configuration conf.xml sous SRC
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Configuration public "- // mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3config.dtd"><configuration> Ressource = "JDBC.Properties" /> <! - Configurez MyBatis Operating Environment -> <Environments Default = "Development"> <Environment ID = "Development"> <! - Type = "JDBC" Représente l'utilisation de JDBC et Rollback pour gérer les transactions -> <transactionmanager Poolled, non omis, jndi -> <! - Poolled indique la prise en charge du pool de connexion de source de données JDBC -> <! - UsoLed indique de ne pas prendre en charge le pool de connexion de données - <! Value = "$ {url}" /> <propriété name = "username" value = "$ {username}" /> <propriété name = "mot de passe" value = "$ {mot de passe}" /> </ dataSource> </ environnement> </ environnements> <mappers> </mappeIci, les informations de stockage de la base de données sont stockées via des fichiers de configuration externes, de sorte que des informations de stockage de base de données JDBC.Properties sont ajoutées.
driver = com.microsoft.sqlserver.jdbc.sqlServerDriverUrl = jdbc: sqlserver: //127.0.0.1; databasename = TESTUSERNAME = sapassword = 123456
3) Créez un fichier de mappage userMapper.xml
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Mappep Public "- // Mybatis.org//dtd Mappeur 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace = "hw.com.Ser.iusers" utilisateurs -> <select id = "queryusers" resultType = "hw.com.pojo.user"> select * from ms_user </lect> <lelectID = "queryUserbyid" resultType = "hw.com.pojo.user" ParametType = "int"> SELECT * FROM MS_USER WHERE ID = # {id} </ Select>(Il convient de noter ici que l'attribut d'espace de noms est, car cette instance est mappée via des interfaces, de sorte que l'attribut d'espace de noms doit être écrit comme le chemin d'accès de l'interface) Figure jointe:
4) Créer une classe d'interface de mappage
package hw.com.ser; import java.util.list; import hw.com.pojo.user; interface publique iUser {public list <serv> queryUsers (); l'utilisateur public QueryUserByid (int id);}5) Créer une SQLSessionFactory
package hw.com.util; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import org.apache.reader; import java.util.propperties; org.apache.ibatis.session.sqlSessionFactory; import org.apache.ibatis.session.sqlSessionFactoryBuilder; classe publique SqlSessionFactoryUtil {private static sqlSessionFactory sqlSessionFactory = null; private static final class class_lock = sqlSessionFactoryUtil.class; privé sqlSessionFactoryUtil () {} public static sqlSessionFactory initsQlSessionFactory () {String Resource = "conf.xml"; InputStream inputStream = null; try {inputStream = Resources.getResourceSStream (ressource); } catch (ioException e) {e.printStackTrace (); } synchronisé (class_lock) {if (sqlSessionFactory == null) {sqlSessionFactory = new sqlSessionFactoryBuilder (). build (inputStream); }} return sqlSessionFactory; } public static sqlSession opensqlSession () {if (sqlSessionFactory == null) {initsQlSessionFactory (); } return SqlSessionFactory.OpenSession (); }}6) Créer un pojo
package hw.com.pojo; import java.util.date; public class user {private String id; Nom d'utilisateur de chaîne privée; chaîne privée userpwd; private int DeptmentId; chaîne privée UserTruename; e-mail de chaîne privée; private int LearnCenterid; Date privée CréationDate; Date privée LastModifyDate; Private int userstatus; public user () {super (); // TODO Stub du constructeur généré automatiquement} public String getID () {return id; } public void setID (String id) {id = id; } public String getUserName () {return username; } public void setUsername (String username) {username = username; } public String getUserPwd () {return userpwd; } public void SetUserPwd (String userpwd) {userpwd = userpwd; } public int getDepTmentid () {return DeptmentId; } public void setDepTmentid (int Depenmentid) {DepTmentid = Depenmentid; } public String getUserTruename () {return usertruename; } public void SetUserTruename (String usertruename) {usertruename = usertruename; } public String getEmail () {return e-mail; } public void setEmail (chaîne e-mail) {email = email; } public int getLearnCenterid () {return LearnCenterid; } public void SetLearnCenterid (int LearnCenterid) {LearnCenterid = LearnCenterid; } public Date getCreatEdate () {return CreateDate; } public void setCreatEdate (date crééDate) {CreateDate = CreateDate; } Public Date getLastModifyDate () {return lastModifyDate; } public void setLastModifyDate (date lastmodifyDate) {lastModifyDate = lastModifyDate; } public int getUSERSTatus () {return Userstatus; } public void SetUserStatus (int userstatus) {userstatus = userstatus; } @Override public String toString () {return "user [id =" + id + ", username =" + username + ", userpwd =" + userpwd + ", deptentid =" + deptentid + ", usertruename =" + usertruename + ", e-mail =" + e-mail + ", apprenti LastModifyDate = "+ LastModifyDate +", Userstatus = "+ Userstatus +"] "; }}7) Faites le test sous la méthode principale
Package hw.com.day1.main; Importer java.util.list; import org.apache.ibatis.session.sqlsession; import hw.com.pojo.user; import hw.com.ser.iuser; import hw.com.util.sqlsessionfactoryutil; public class userTest {public static void main (String [] args) {sqlSession sqlSession = null; essayez {sqlSession = sqlSessionFactoryUtil.openSQLSession (); IUser iUser = sqlSession.getMapper (iUser.class); List <ser utilisateur> users = iUser.QueryUsers (); if (users.size ()> 0) {for (utilisateur utilisateur: utilisateurs) {System.out.println (user.toString ()); }}} catch (exception e) {e.printStackTrace (); }}}