El análisis del código fuente de BatchExecutor of Executor en MyBatis no comprende

Para facilitar el análisis del código fuente, primero veamos una demostración de MyBatis

mybatis-mysql-config.xml

<? xml version = "1.0" encoding = "UTF-8" ?> 
<! DOCTYPE configuration PUBLIC "- // mybatis.org//DTD Config 3.0 // ES" 
        "http://mybatis.org/dtd/mybatis-3-config.dtd" > 

< configuración > 
    < propiedades > 
        < nombre de propiedad = " driver " value =" com.mysql.cj.jdbc.Driver " /> < nombre de propiedad =" url " value =" jdbc: mysql: //127.0.0.1: 3306 / gys? serverTimezone = UTC " /> </ properties > < configuración >
        
    
    
        = "defaultExecutorType" value = "SIMPLE" /> 
    </ settings > 
    <! - Configuración del entorno, base de datos conectada, aquí está MySQL- > 
    < entornos default = "dev" > 
        < environment id = "dev" > 
            <! - Especifique el tipo de gestión de transacciones, aquí simplemente use la configuración de envío y reversión JDBC de Java- > 
            < transactionManager type = "JDBC"  /> 
            <! - DataSource se refiere a la configuración de la fuente de conexión, POOLED es el objeto de conexión JDBC Implementación del conjunto de conexiones de origen de datos- > 
            < dataSource type = "POOLED" > 
                <nombre de propiedad = valor "controlador"= "$ {driver}" > </ property > 
                < property name = "url" value = "$ {url}" > </ property > 
                < property name = "username" value = "root" > </ property > 
                < nombre de propiedad = "contraseña" valor = "gys" > </ propiedad > </ dataSource > </ environment > </ entornos > <mapeadores > < recurso mapeador
            
               
    
       
        = "mapper / user.xml" > </ mapper > 
    </ mappers > 
</ configuration >

mapper.xml

<? xml version = "1.0" encoding = "UTF-8" ?> 
<! DOCTYPE mapper PUBLIC "- // mybatis.org//DTD Mapper 3.0 // ES" 
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > 
< mapper namespace = "dao.IUserMapper" >   

    < insert id = "insertUser" parameterType = "model.User" > 
        inserta en 
        los 
        valores del usuario (nombre, edad) 
        (# {name}, # {age}) 
    </ insert > 

</ mapper >

Método de entrada principal:

1      public  static  void main (String [] args) lanza Exception {
 2          SqlSessionFactory sqlSessionFactory1 = new SqlSessionFactoryBuilder (). Build (Resources.getResourceAsStream ("mybatis-mysql-config.xml"), "dev" );
3          SqlSession sqlSession1 = sqlSessionFactory1.openSession ( verdadero );
4          IUserMapper userMapper = sqlSession1.getMapper (IUserMapper. Class );
5          Usuario usuario = nuevo Usuario ();
6          user.setAge (28 );
7          user.setName ("a" );
8         int i = userMapper.insertUser (usuario);
 9          System.out.println ("Número de filas afectadas" + i);
 10          sqlSession1.close ();
 11      }

El código de Ejecutor sigue estando lejos del código de ejecución de demostración anterior. Si analiza el Ejecutor, debe analizar y analizar este código de paquete muy largo;

¿Cómo puede este código fuente comenzar a hacer que la gente se sienta natural y dejarlo ir?

Olvídalo, hagámoslo paso a paso;

 

Supongo que te gusta

Origin www.cnblogs.com/guoyansi19900907/p/12689233.html
Recomendado
Clasificación