有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准
https://blog.zysicyj.top
全网最细面试题手册,支持艾宾浩斯记忆法。这是一份最全面、最详细、最高质量的 java面试题,不建议你死记硬背,只要每天复习一遍,有个大概印象就行了。 https://store.amazingmemo.com/chapterDetail/1685324709017001`
MyBatis 中的 Executor 执行器
MyBatis 提供了三种基本的 Executor 执行器,它们分别是:
SimpleExecutor
SimpleExecutor 是 MyBatis 中最基本的执行器。每次进行数据库操作,它都会创建一个新的 PreparedStatement 对象。它没有任何特殊的行为。
ReuseExecutor
ReuseExecutor 执行器会重用 PreparedStatement。如果两次执行的是相同的 SQL 语句,它会复用 PreparedStatement 对象,这样可以减少数据库和 JDBC 驱动的开销。
BatchExecutor
BatchExecutor 执行器会批量执行所有更新语句(包括 insert、update 和 delete),直到提交或回滚操作发生。如果执行多个更新操作,使用 BatchExecutor 可以显著减少数据库访问次数,提高性能。
它们之间的区别
- 创建
PreparedStatement的方式不同:SimpleExecutor每次都新建,ReuseExecutor会复用,而BatchExecutor会批处理。 - 性能和适用场景不同:
SimpleExecutor适用于一次性操作,ReuseExecutor适合多次执行相同 SQL 语句的场景,BatchExecutor适用于批量更新操作。 - 资源消耗不同:
SimpleExecutor可能会消耗更多的资源,因为它不进行任何优化;ReuseExecutor和BatchExecutor通过复用和批处理减少资源消耗。
在选择合适的执行器时,需要根据实际的业务场景和性能要求来决定。通常情况下,默认的 SimpleExecutor 足以应对大多数情况,但在特定场景下,选择 ReuseExecutor 或 BatchExecutor 可以获得更好的性能表现。
本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 小朱
评论
隐私政策
0/500
滚动到此处加载评论...


