zoukankan      html  css  js  c++  java
  • 重用执行器和批处理执行器

     重用执行器执行之前会先查询缓存,是否存在sql  ———>statement,可提升性能,因为创建一个statment比较i消耗性能,如果存在sql对应的statement则直接使用该statement和数据库进行交互。

    批处理:

    批处理器持有:

    1、statementList stement列表,用于向数据库发送sql语句

    2、batchResultList      用于对应的statement语句返回结果集。

    从上边的代码可以看出,只有相邻的相同的sql语句才会使用同一个statement,负责就会使用不同的statement。

        public void sessionBatchTest(){
            SqlSession sqlSession = factory.openSession(ExecutorType.BATCH,true);
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            //MappedStatement
            // 1.sql 相同 2.MappedStatement 3.必须是连续的  =》JDBC statement
            mapper.setName(10,"你好"); //添加 把参数和SQL设置好=》   1个statement
            User user = Mock.newUser();
            mapper.addUser(user);2个statement
            mapper.addUser(user);和上边公用一个stament
            mapper.setName(user.getId(),"飞猪");3个statement
            // JDBC statement?
    
            List<BatchResult> batchResults = sqlSession.flushStatements(); 此时一共发送三个statement

      

  • 相关阅读:
    JavaScript基础
    w3c网站案例
    CSS基础
    HTML基础
    MySQL--用户管理 pymysql 索引
    MySQL--高级
    MySQL--多表查询
    MySQL--单表查询
    直接插入排序与折半插入排序分析
    Nginx从安装到简单使用
  • 原文地址:https://www.cnblogs.com/sunanli/p/13583794.html
Copyright © 2011-2022 走看看