一.JDBC的执行流程
JBDC的底层主要是三个接口对象,Connection、Statement、ResultSet。
Connection用于建立与数据库的连接,Statement用于向数据库发送sql语句,ResultSet用于封装sql查询语句的结果。
原始的JDBC操作数据库主要有以下几个步骤:
1.注册驱动
使用 Class.forName() 方法加载数据库驱动程序类。
2.获取连接对象
JDBC的底层其实是使用Socket进行连接数据库的。打开Connection .
3.执行SQL语句,返回执行结果
通过获取Statement实例执行SQL语句。
4.处理执行结果
最后返回的结果集是ResultSet。
5.释放资源
二.MyBatis执行流程
1 Executor执行器
Executor 执行器则是 MyBatis 框架中的 SQL 执行工具,它负责执行 MappedStatement 中定义的 SQL 语句,并根据配置决定是否开启缓存、是否处理批量操作等。当调用 SqlSession 的 CRUD 方法时,SqlSession 会委托给它的内部 Executor 执行器去完成具体的 SQL 执行工作。
Executor 是 MyBatis 执行 SQL 的入口,它是一个策略模式的体现,有多种实现(如 SimpleExecutor、ReuseExecutor、BatchExecutor 等),分别适用于不同的场景(例如是否启用缓存、是否进行批处理等)。
当用户通过 SqlSession 执行某个数据库操作时,Executor 会根据指定的方法名和参数找到相应的 MappedStatement,并负责执行该 SQL 语句。
1.SimpleExecutor – SIMPLE 就是普通的执行器。
2.ReuseExecutor-执行器会重用预处理语句(PreparedStatements)
3.BatchExecutor --它是批处理执行器
2 MappedStatement 对象
MappedStatement 对象是 MyBatis 核心配置文件中每一个 <select>、<insert>、&l