O BatchExecutor da análise de código-fonte do Executor no MyBatis não entende

Para facilitar a análise do código fonte, vamos primeiro a uma demonstração do MyBatis

mybatis-mysql-config.xml

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

< configuração > 
    < propriedades > 
        < nome da propriedade = " driver " value =" com.mysql.cj.jdbc.Driver " /> < nome da propriedade =" url " value =" jdbc: mysql: //127.0.0.1: 3306 / gys? serverTimezone = UTC " /> </ properties > < configurações >
        
    
    
        = "defaultExecutorType" value = "SIMPLE" /> 
    </ settings > 
    <! - Configuração do ambiente, banco de dados conectado, aqui está o MySQL- > 
    < environment default = "dev" > 
        < environment id = "dev" > 
            <! - Especifique o tipo de gerenciamento de transação, aqui, basta usar as configurações de envio e reversão JDBC do Java- > 
            < transactionManager type = "JDBC"  /> 
            <! - DataSource refere-se à configuração da fonte de conexão, POOLED é o objeto de conexão JDBC Implementação do pool de conexão da fonte de dados- > 
            < dataSource type = "POOLED" > 
                <nome da propriedade = valor "driver"= "$ {driver}" > </ propriedade > 
                < nome da propriedade = "url" value = "$ {url}" > </ property > < nome da propriedade = "nome do usuário" value = "root" > </ property > < nome da propriedade = "senha" value = "gys" > </ property > </ dataSource > </ environment > </ environment > <mapeadores > < recurso do mapeador
                
                
            
               
    
       
        = "mapper / user.xml" > </ mapper > 
    </ mappers > 
</ configuration >

mapper.xml

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

    < insert id = "insertUser" parameterType = "model.User" > 
        INSERT INTO usuário 
        (nome, idade) 
        valores 
        (# {name}, # {age}) 
    </ insert > 

</ mapeador >

Método de entrada main:

1      public  static  void main (String [] args) lança a exceção {
 2          SqlSessionFactory sqlSessionFactory1 = new SqlSessionFactoryBuilder (). Build (Resources.getResourceAsStream ("mybatis-mysql-config.xml"), "dev" );
3          SqlSession sqlSession1 = sqlSessionFactory1.openSession ( true );
4          IUserMapper userMapper = sqlSession1.getMapper (IUserMapper. Class );
5          Usuário usuário = novo Usuário ();
6          user.setAge (28 );
7          user.setName ("a" );
8         int i = userMapper.insertUser (usuário);
 9          System.out.println ("Número de linhas afetadas" + i);
 10          sqlSession1.close ();
 11      }

O código do Executor ainda está muito longe do código de execução Demo acima. Se você analisar o Executor, deverá analisar e analisar esse código muito longo;

Como esse código-fonte pode começar a fazer com que as pessoas se sintam naturais e o deixem ir?

Esqueça, vamos fazer passo a passo;

 

Acho que você gosta

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