Mybatis nécessite un package JAR:
Deux packages en pot doivent être référencés, l'un est mybatis et l'autre est MySQL-connector-Java . S'il s'agit d'un projet Maven, ajoutez des dépendances dans le POM comme suit.
<dependency> <proupId> org.mybatis </rompuprid> <letifactive> mybatis </ artifactId> <version> 3.2.3 </ version> </Dependance> <Dedency> <ProupID> MySQL </proupId> <ErtifactId> Mysql-Connector-Java </RetifActid> <version> 5.1.26 </ version>
Préparation des données:
Créez des données ponctuelles dans MySQL pour les tests:
Créer une base de données mybatis_test; Créer un utilisateur de table (entier d'âge non nul, nom varchar (64) pas null default ''); insérer les valeurs utilisateur (18, «zhanjindong»); insérer les valeurs utilisateur (20, «zhangsan»);
Fichier de configuration:
Deux types de fichiers de configuration sont requis. L'un est le fichier de configuration MyBatis MyBatis-Config.xml. Dans l'exemple, c'est une configuration très simple. Il existe de nombreuses instructions pour la configuration détaillée sur Internet.
<? 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> <paramètres> name = "cacheenabled" value = "false" /> <setting name = "usegeneratedkeys" value = "true" /> <paraming name = "defaultExecutOrty <transactionManager type = "jdbc" /> <dataSource type = "poolled"> <propriété name = "driver" value = "com.mysql.jdbc.driver" /> <propriété name = "url" value = "jdbc: mysql: //192.168.71.38: 3306 / mybatis_test" /> <woftaméli value = "root" /> <propriété name = "mot de passe" value = "123456" /> </ataSource> </ Environment> </ Environments> <Mappers> <Mappeur Resource = "MAPPERS / USERMPAPPET.xml" /> </mappers> </ Configuration>
Un autre type est le fichier de mappage d'interface d'accès aux données: dans l'exemple, c'est userMapper.xml. Ce fichier peut être trouvé par SRC / Main / Resource ou sous-répertoire MyBatis. Il est spécifié par la ressource du nœud mappers / mappeur dans Mybatis-Config.xml.
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Mappeur public "- // Mybatis.org//dtd Mapper 3.0 // en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapperpace =" Test.mybatis.> <! " L'espace de noms doit être le chemin d'accès de l'interface UserMapper "-> <insert id =" inserser "ParameterType =" User "> Insérer dans l'utilisateur (nom, âge) (# {name}, # {Age}) <! - Ici, aucun semi-sot Nom de la méthode de l'interface dans l'interface UserMapper -> <select id = "getuser" resultType = "user" ParameterType = "java.lang.string"> sélectionner * à partir de l'utilisateur où name = # {name} </lect> </ mapper>Le fichier de mappage correspondant est l'interface UserMapper sous l'espace de noms test.mybatis, qui définit l'interface uniquement pour accéder au tableau de données:
package test.mybatis; interface publique UserMapper {public void insertUser (utilisateur utilisateur); utilisateur public getuser (nom de chaîne);}Besoin d'un pojo: user.java
package test.mybatis; public class user {private String name; Âge entier privé; public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public Integer Getage () {Return Age; } public void Setage (entier Âge) {this.age = age; } utilisateur public (nom de chaîne, âge entier) {super (); this.name = name; this.age = âge; } public user () {super (); }}test:
L'opération de la base de données MyBatis utilise une classe appelée SQLSession. Cette classe est générée via SQLSessionFactory. Il est généralement recommandé de maintenir un SQLSessionFactory à l'échelle mondiale.
Testmybatis.javapackage test.mybatis; import java.io.ioException; import java.io.reader; import org.apache.ibatis.io.resources; import org.apache.ibatis.ssess.sqlsessionfactory; import org.apache.ibatis.Session {private final static sqlSessionFactory sqlSessionFactory; statique {string ressource = "mybatis-config.xml"; Lecteur lecteur = null; essayez {Reader = Resources.getResourceAsReader (ressource); } catch (ioException e) {System.out.println (e.getMessage ()); } sqlSessionFactory = new SqlSessionFactoryBuilder (). Build (Reader); } public static sqlSessionFactory getSQLSessionFactory () {return sqlSessionFactory; }}Le code de test est le suivant:
Testmybatis.javapackage test.mybatis; import org.apache.ibatis.session.sqlSession; import org.apache.ibatis.session.sqlSessionFactory; classe publique TestMybatis; statique {sqlSessionFactory = mybatisUtil.getsqlSessionFactory (); } public static void main (String [] args) {testAdd (); getUser (); } public static void testAdd () {sqlSession sqlSession = sqlSessionFactory.OpenSession (); essayez {userMapper userMapper = sqlSession.getMapper (userMapper.class); Utilisateur utilisateur = nouvel utilisateur ("Lisi", nouvel entier (25)); userMapper.Inserser (utilisateur); sqlSession.Commit (); // Vous devez soumettre ici, sinon les données n'entreront pas la base de données} enfin {sqlSession.close (); }} public static void GetUser () {sqlSession sqlSession = sqlSessionFactory.OpenSession (); essayez {userMapper userMapper = sqlSession.getMapper (userMapper.class); User user = userMapper.getUser ("Zhangsan"); System.out.println ("name:" + user.getName () + "| Age:" + user.getage ()); } enfin {sqlSession.close (); }}}1. MyBatis utilisera Log4J pour enregistrer les journaux, mais l'activation du mode de débogage semble avoir un impact très fort sur les performances.
2. Le cache de requête de Mybatis a un très grand impact sur les performances, et l'écart entre l'activation et le non-activation est très important.
Ce qui précède est le didacticiel détaillé sur l'utilisation de MyBatis qui vous est présenté par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, laissez-moi un message et l'éditeur vous répondra à temps!