Heim  >  Artikel  >  Java  >  Einfache Nutzung von MyBatis

Einfache Nutzung von MyBatis

一个新手
一个新手Original
2017-10-10 09:27:511493Durchsuche

MyBatis

MyBatis ist ein hervorragendes Persistenzschicht-Framework, das benutzerdefiniertes SQL, gespeicherte Prozeduren und erweiterte Zuordnung unterstützt. MyBatis vermeidet fast den gesamten JDBC-Code und das manuelle Festlegen von Parametern sowie das Abrufen von Ergebnismengen. MyBatis kann einfaches XML oder Annotationen verwenden, um native Informationen zu konfigurieren und zuzuordnen, Schnittstellen und Java-POJOs (Plain Old Java Objects, gewöhnliche Java-Objekte) in Datensätzen in der Datenbank abzubilden.

MyBatis erstellen


Schritt 1: Erstellen Sie zuerst ein Projekt, schauen Sie sich zunächst die Projektstruktur an

Schritt 2: Importieren Sie das entsprechende JAR-Paket (kann von der offiziellen Website heruntergeladen werden, Open Source):

  • mybatis-3.4.4.jar MyBatis-JAR-Paket

  • mysql-connector-java-5.1.13-bin.jar Mysql-JAR-Paket

Schritt 3: Schreiben Sie eine Konfigurationsdatei . Es handelt sich um eine XML-Datei mybatis-config.xml, und der Speicherort befindet sich unter 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>

Informationen zur Attributbeschreibung der XML-Datei in 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>

Schritt 4: Erstellen Sie die Entitätsklasse. Selbstverständlich ist die normale Erstellung in Ordnung.

Schritt 5: Erstellen Sie die Mapper-Mapping-XML-Datei der Entitätsklasse , der Standort und die Entität Ähnliche Ebenen sind einige Operationen an Entitätsklassen. Meiner Meinung nach geht es nur darum, die SQL-Anweisung zu konfigurieren und dann die


<?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>
Entitätsklasse in der Methodenzuordnungsattributbeschreibung: Schauen wir uns die ersten paar Begegnungen an und sprechen wir dann darüber. Baidu kann

Schritt 6: Schreiben Sie eine Testklasse zum Testen ob das, was Sie erstellt haben, nützlich ist.


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();
    }
}
Für die einfache Entwicklung kleiner Projekt-Microservices ist die Verwendung von MyBatis eine sehr gute Wahl

Das obige ist der detaillierte Inhalt vonEinfache Nutzung von MyBatis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn