Mybatis, en tant que cadre léger ORM, a attiré l'attention d'innombrables personnes dès qu'il est apparu. Il est plus simple et plus facile de commencer que Hibernate. Commençons mon premier programme MyBatis.
1. Téléchargez le package MyBatis
Nous savons que tout cadre aura son package. Nous téléchargeons son package à partir de son site officiel. L'adresse officielle du site Web est: http://www.mybatis.org/mybatis-3/, et la version que j'utilise ici est 3.3.0. Une fois le téléchargement terminé, vous pouvez voir la structure du répertoire suivant:
MyBatis-3.3.0.jar est son package, et dans le répertoire Lib est son package de dépendance. Nous mettons ces packages dans notre projet. Ce que j'ai créé ici est un projet Javaweb, qui est pratique pour les tests Web à l'avenir. Le programme que j'ai écrit est un programme Java ordinaire.
2. Environnement de configuration
Après avoir mis le package MyBatis dans le répertoire Lib du projet, configurez l'environnement MyBatis. Nous savons que MyBatis, en tant que cadre ORM, appartient à la couche DAO en développement et traite de la base de données, nous devons donc avoir des données. Ici, prenez les données MySQL comme exemple, et la construction spécifique de la base de données et la construction de table ne seront pas expliquées ici.
Créer un fichier de configuration MyBatis Dans le répertoire SRC, le nom du fichier est: configuratin.xml, et le contenu du fichier est le suivant:
<? xml version = "1.0" Encoding = "utf-8"?> <! Doctype Configuration public "- // mybatis.org//dtd config 3.0 // en" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <! ------> <typeases> type = "com.cn.imooc.entity.message" /> </ typealiases> <environnements default = "Development"> <environnement id = "Development"> <transactionManager type = "jdbc" /> <dataSource type = "poolled"> <propriété name = "driver" value = "com.mysql.jdbc.driver" /> <propriété "Name =" url " Value = "JDBC: mysql: //127.0.0.1: 3306 / weixin? useunicode = true & caractèrescoding = utf-8" /> <propriété name = "username" value = "root" /> <propriété = "mot de passe" value = "123456" <mappers> <mapper ressource = "com / cn / mappers / message.xml" /> </mappers> </ configuration>
Il existe encore de nombreux éléments de configuration dans le fichier de configuration MyBatis.
<Typaliases> Alias Configuration, c'est-à-dire que la classe d'entité est aliasée. Le but est de ne pas utiliser les noms de classe complets lors de l'utilisation de classes entités dans le fichier de mappage, mais utilisez un alias, qui joue un rôle simple
<NIVENTIONS> Configurer certains environnements tels que la configuration des données, nous configurons ici la source de données
<MAPPERS> Configurez le fichier de mappage, voici le fichier de mappage Message.xml dans le package com.cn.mappers configuré.
Ce qui suit est une explication de la classe d'entité de message. Cette classe d'entité contient certaines propriétés, comme suit:
Package com.cn.imooc.entity; Message de classe publique {Private String Id; Commande de chaîne privée; Commandement de chaîne privée; Commentaire de chaîne privée; commentaire public String getID () {return id;} public void setId (return Command) {public void setcommand (String Command) {this.command = Command; Command;} public String GetScription () Description;} public void setDescription (chaîne Description) {this.description = description;} public String getComment () {return commentaire;} public void setComment (string comment) {this.comment = comment;} @ overRidepublic String toString () {return "Message [id =" + id + ", Command =" + Command + ", description =" + Description + ",", comment + ".Les méthodes Getxxx et Setxxx sont fournies et la méthode Setxxx est très critique. Les propriétés ici sont les mêmes que les noms de champ de la base de données. Ils peuvent être facilement réfléchis dans la classe d'entité en utilisant MyBatis pour interroger les résultats. Bien sûr, ils peuvent également être incompatibles avec les noms de champ des tables de base de données. Ils seront expliqués plus tard.
Le fichier de mappage Message.xml est le suivant,
<mapper namespace = "com.cn.inter.imessageOperation"> <select id = "selectUserById" ParameterType = "int" resultType = "com.cn.imooc.entity.message"> SELECT * FROM `Message` où id = # {id} </lect> <Select Id =" selectMessages "resultType =" message "> commander, la commande, comment Message; </lect> </ mapper>Ceci est mon fichier de mappage de mappeur, il y a deux méthodes à l'intérieur, l'une est: SelectUserByid Query basé sur ID, et l'autre est SelectMessages Query
D'accord, jusqu'à présent, notre environnement MyBatis a été construit, et nous pouvons le tester ci-dessous.
3. Test
Vous trouverez ci-dessous le code de test,
Package com.cn.test; Import Java.io.ioException; import java.io.reader; import org.apache.ibatis.io.resources; import org.apache.ibatis.Session.sqlSession; import org.apache.ibatis.Session.sqlsessionfactory; import org.apache.ibatis.session.sqlsession org.apache.ibatis.session.sqlSessionFactoryBuilder; import com.cn.imooc.entity.mesage; public class MyTest {public static void main (String [] args) {// too a auto-généré la méthode SUBREDADER Reader; sqlsession sqlsession = null; try {// 1. Obtenez SQLSessionFactoryReader = Resources.getResourceAsReader ("Configuration.xml"); SqlSessionFactory SqlSessionFactory = new SqlSessionFactoryBuilder (). Build (Reader); // 2. Obtenez SqlSessionsqlSession = SqlSessionFactory.OpenSession (); // 3. Message de requête Message = sqlSession.Selectone ("com.cn.inter.imessageOperation.SelectUserById", 1); System.out.println (message);} Catch (ioException e) {// TODO Auto-généré Catch Blocke.PrintStackTrace ();} Enfin {SqlSession.Comme on peut le voir à partir de ce qui précède, une première SQLSessionFactory est nécessaire, puis une SQLSessionFactory est obtenue. La SQLSession est exécutée par la SQLSession et la méthode SelectOne est utilisée. Le premier paramètre est l'espace de noms + "." Nom de la méthode dans le fichier de mappage et le deuxième paramètre est le paramètre de requête.
Ce qui précède est la description complète de la façon dont Mybatis est utilisé (i) vous présenté par l'éditeur. J'espère que cela vous sera utile. D'autres versions seront introduites à l'avenir. Veuillez faire attention à Wulin.com pour plus de contenu!