顶层节点Executor,BaseExecutor中使用了一级缓存PerpetualCache,一共有四个子类,类图中还没标全,分别是SimpleExecutor简单执行器、ReuseExecutor可重用执行器(重用同一个Statement对象)、BatchExecutor批处理执行器、ClosedExecutor关闭的执行器(ResultLoaderMap的内部类,用于标记序列化反序列化后执行器处于关闭状态)。CachingExe...
而在这个方法中,存在一个属性就是今天需要将的主角,Mybatis的执行器(Executor)。 Executor简单介绍 1. Executor执行器,是mybatis中执行查询的主要代码,Executor分为三种,分别是简单执行器SimpleExecutor、可重用执行器ReuseExecutor、批量执行器BatchExecutor。可以在mybatis的配置文件中设置使用哪种执行器: 源码中,初始化...
之后是对 SQL 的处理,我们都知道在使用 JDBC 执行 SQL 的时候,分为了简单处理和预处理,预处理中包括准备语句、参数化传递、执行查询,以及最后的结果封装和返回。所以我们这里也需要把 JDBC 这部分的步骤,分为结构化的类过程来实现,便于功能的拓展。具体代码主要体现在语句处理器 StatementHandler 的接口实现中。 四...
在使用 MyBatis-Plus 执行 SQL 语句时,通常需要按照以下步骤进行配置和操作: 1. 配置 MyBatis-Plus 环境 首先,你需要在项目中引入 MyBatis-Plus 的依赖,并配置数据源等相关信息。这通常包括在 pom.xml 文件中添加 MyBatis-Plus 和数据库驱动的依赖,以及在 application.yml 或application.properties 文件中配置数据...
执行SQL操作:MybatisPlus通过Mybatis的Executor执行器来执行生成的SQL语句,与数据库进行交互,完成数据的增删改查操作。 事务管理:MybatisPlus支持事务管理,可通过注解或配置的方式来控制事务的提交和回滚,确保数据的一致性。 总的来说,MybatisPlus通过封装Mybatis的核心功能,提供了更加便捷的操作方式和功能扩展,使开发者...
默认值:com.baomidou.mybatisplus.core.injector.DefaultSqlInjector SQL注入器(starter 下支持@bean注入) superMapperClass 类型:Class 默认值:com.baomidou.mybatisplus.core.mapper.Mapper.class 通用Mapper父类(影响sqlInjector,只有这个的子类的 mapper 才会注入 sqlInjector 内的 method) ...
执行过程 通过SqlSessionFactory对象创建SqlSession对象,具体类型为DefaultSqlSession 其中包含一个执行器Executor,经过了拦截器的处理 通过SqlSession对象获取Mapper对象,底层使用JDK动态代理 拦截器为MapperProxy对象 通过方法获取一个MapperMethod对象,其中包含MappedStatement 通过MappedStatement创建一个BoundSql对象 BoundSql对象包含要...
ExecutorWrapper executor:一个执行器包装器,你可以使用它来执行SQL语句。 StatementHandler statementHandler:一个语句处理器,你可以使用它来获取原始的SQL语句。 Connection connection:数据库连接对象,你可以使用它来执行其他数据库操作或查询。 MetaObject metaObject: MyBatis-Plus的元数据对象,你可以使用它来获取SQL语句的...
01 SQL SQL,脚本查询语言,处理代码的顺序不是按照脚本语言的顺序,这点是不同于其他编程语言的最明显特征。...SQL语言常见的比如,Mysql,HiveQL,Oracle等,虽然语法上存在一些差异,但它们在解释查询脚本上,尤其是在解析语句执行顺序上具有共性。...如果将脚本语言分
JDBC 批处理机制是一种优化数据库操作性能的技术,允许将多条 SQL 语句作为一个批次发送到数据库服务器执行,从而减少客户端与数据库之间的交互次数,显著提高性能。通常用于 批量插入、批量更新 和 批量删除 等场景。具体的流程如下: //创建 PreparedStatement 对象,用于定义批处理的 SQL 模板。