Maison  >  Article  >  Java  >  Utilisation simple de MyBatis

Utilisation simple de MyBatis

一个新手
一个新手original
2017-10-10 09:27:511431parcourir

MyBatis

MyBatis est un excellent framework de couche de persistance qui prend en charge le SQL personnalisé, les procédures stockées et le mappage avancé. MyBatis évite presque tout le code JDBC, le réglage manuel des paramètres et la récupération des jeux de résultats. MyBatis peut utiliser du XML simple ou des annotations pour configurer et mapper les informations natives, les interfaces de mappage et les POJO Java (Plain Old Java Objects, objets Java ordinaires) dans les enregistrements de la base de données.

Construire MyBatis


Étape 1 : Créez d'abord un projet, juste un projet Java ordinaire. Jetez d'abord un œil à la structure du projet

Étape 2 : Importez le package jar correspondant (peut être téléchargé depuis le site officiel, open source) :

  • mybatis-3.4.4.jar Package jar MyBatis

  • mysql-connector-java-5.1.13-bin.jar Package jar Mysql

Étape 3 : Écrire un fichier de configuration . Il s'agit d'un fichier XML mybatis-config.xml, et l'emplacement est placé sous src


<?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>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mobile"/>
        <property name="username" value="zhou"/>
        <property name="password" value="123456"/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="com/entity/UserMapper.xml"/>
  </mappers></configuration>
À propos de la description de l'attribut du fichier xml dans MyBatis :


<!-- 配置文件的根元素 -->  <configuration>  
    <!-- 属性:定义配置外在化 -->  
    <properties></properties>  
    <!-- 设置:定义mybatis的一些全局性设置 -->  
    <settings>  
       <!-- 具体的参数名和参数值 -->  
       <setting name="" value=""/>   
    </settings>  
    <!-- 类型名称:为一些类定义别名 -->  
    <typeAliases></typeAliases>  
    <!-- 类型处理器:定义Java类型与数据库中的数据类型之间的转换关系 -->  
    <typeHandlers></typeHandlers>  
    <!-- 对象工厂 -->  
    <objectFactory type=""></objectFactory>  
    <!-- 插件:mybatis的插件,插件可以修改mybatis的内部运行规则 -->  
    <plugins>  
       <plugin interceptor=""></plugin>  
    </plugins>  
    <!-- 环境:配置mybatis的环境 -->  
    <environments default="">  
       <!-- 环境变量:可以配置多个环境变量,比如使用多数据源时,就需要配置多个环境变量 -->  
       <environment id="">  
          <!-- 事务管理器 -->  
          <transactionManager type=""></transactionManager>  
          <!-- 数据源 -->  
          <dataSource type=""></dataSource>  
       </environment>   
    </environments>  
    <!-- 数据库厂商标识 -->  
    <databaseIdProvider type=""></databaseIdProvider>  
    <!-- 映射器:指定映射文件或者映射类 -->  
    <mappers></mappers>  </configuration>
Étape 4 : Créez la classe d'entité. Inutile de dire que la création normale est ok

Étape 5 : Créez le fichier XML de mappage du mappeur de la classe d'entité. , l'emplacement et l'entité Des niveaux similaires sont certaines opérations sur les classes d'entités. À mon avis, il s'agit simplement de configurer l'instruction SQL, puis d'ajuster le


<.> classe d'entité dans la méthode Description de l'attribut de mappage : regardons les premières rencontres, puis parlons-en. Baidu peut
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- namespace可以不加xml后缀 --><mapper namespace="com.entity.UserMapper"><!-- 单个对象查询 -->
  <select id="selectUser" parameterType="int"  resultType="com.entity.User">
    select * from user where id = #{id}  </select>
  <!--查询列表  -->
  <resultMap id="userList" type="com.entity.User">
  <result property="id" column="id" />
  <result property="username" column="username"/>
  <result property="password" column="password"/></resultMap>
  <select id="selectAll"  resultMap="userList">
    select * from user  </select>
  <!--插入数据  -->
   <insert id="insert"  >
    insert into User (username,password) values(#{username},#{password})  </insert>
  <!--更新数据  --><update id="update">
  update User set username = #{username},password = #{password} where id = #{id}</update><!--删除数据  --><delete id="delete">
  delete from User where id = #{id}</delete></mapper>

Étape 6 : écrivez une classe de test à tester. si ce que vous avez construit est utile


Pour le développement simple de microservices de petits projets, utiliser MyBatis est un très bon choix
package com.test;import java.io.IOException;import java.io.InputStream;import java.util.List;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.entity.User;/**
 * 
 * @author 坚持到你GL
 * */public class Test {    
     private static SqlSession session=null;    
     public static SqlSession mySession() {        //你的MyBatis的配置文件地址
        String resource = "mybatis-config.xml";
        InputStream inputStream=null;        
        try {            //IO解析xml文件
            inputStream = Resources.getResourceAsStream(resource);
        } catch (IOException e) {            // TODO Auto-generated catch block            
        e.printStackTrace();
        }        //创建一个SqlSessionFactoryBuilder对象,获得SqlSessionFactory 的实例
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        //开启SqlSession
         session=sqlSessionFactory.openSession();        
         return session;
    }    private static void select(){        //selectUser是实体类映射文件的中设置的id
        User user=mySession().selectOne("selectUser",2);
        System.out.println(user);
    }    private static void selectAll() {
        List<User> list=mySession().selectList("selectAll");        
        for (User user : list) {
            System.out.println(user);
        }
    }    private static void insert() {
        User insertuser=new User("zhou","123456");
        mySession().insert("insert",insertuser);
        session.commit();
    }    private static void update() {
        User updateuser =new User(9,"admin","admin");
        mySession().update("update", updateuser);
        session.commit();
    }    private static void delect() {
        mySession().delete("delete", 10);
        session.commit();
    }    public static void main(String[] args) {
    
    selectAll();
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn