MyBatis的整个执行流程

MyBatis作为一个优秀的持久层框架,用于服务端与数据库的交互,它支持定制化的SQL语句,将普通的Java对象(POJO)映射成数据库的数据记录,那么它的具体执行流程是怎么样的呢?下面就来了解一下。
首先我们需要了解MyBatis的几大重要组件,分别是SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Executor、StatementHandler、ParameterHandler、ResultSetHandler以及TypeHandler,这些组件共同构建了MyBatis的整个执行流程。这里简单介绍一下其中几个重要组件的作用,SqlSessionFactoryBuilder顾名思义是用来创建SqlSessionFactory的,而SqlSessionFactory则是生成SqlSession的,SqlSession是一个数据库连接的接口,定义了一些执行sql的方法声明,由其子类进行实现;Executor是对JDBC的封装,用于执行sql语句,我们都知道在JDBC中,执行sql语句前需要调用preparedStatement对sql语句进行预处理(这里补充一下,sql语句的预处理也就是指预编译,利用占位符代替sql语句中的值,目的是提高sql语句的利用率,并且可以防止SQL注入),再调用executor去执行sql语句,因此StatementHandler的作用就是预处理sql语句,然后调用executor方法去执行sql,并把返回的结果集映射为对象(ORM)。
了解了这些组件的作用和功能之后,MyBatis的执行流程图也就自然而然地在心中描绘出来了,首先是创建MyBatis的配置文件,通过SqlSessionFactoryBuilder加载配置文件来创建SqlSessionFactory对象,调用相关方法创建SqlSession来开启数据库连接,根据传入的参数创建Executor和StatementHandler对象,对sql语句进行预处理,接下来就调用ParameterHandler和ResultSetHandler来绑定参数和进行结果集映射,最终获取到结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值