Mybatis工作原理总结

在这里插入图片描述

1.Mybatis配置文件与映射文件

Mybatis-config.xml:Mybatis全局配置文件,包括事务管理、JDBC链接池,和mapper.xml映射文件

2.SQL映射文件

配置SQL语句,需要在mybatis-config.xml中进行加载。

3.SqlSessionFaction会话工厂

在mybatis初始化的时候,就会读取mybatis的核心配置文件,
SqlSessionFactoryBuild通过Configuration对象生成SqlSessionFactory,用来开启SqlSession会话实例;

4.SqlSession会话实例

会话工厂生成会话实例,SqlSession对象根据mapper.xml中的SQL配置,完成与数据库交互,包含执行SQL语句的所有方法;
SqlSession本身提供了数据库增删改查的方法(insert、update、delete、select);

5.Executor执行器

执行器是执行JAVA与数据库交互的实际操作者,把SqlSession对象包含的SQL信息,为SqlSession执行数据库操作。

6.MappedStatement

对映射信息的封装,包括SQL、输入输出类型和数据配置信息等,输入输出类型包括java基本类型,hashmap、pojo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MyBatis是一个持久层框架,它的工作原理可以简述如下: 1. 配置文件:首先,我们需要在配置文件中定义数据库连接信息、映射文件的位置以及其他相关配置。 2. 映射文件:映射文件是MyBatis的核心,它定义了SQL语句与Java方法之间的映射关系。在映射文件中,我们可以使用SQL语句进行增删改查操作,并将结果映射到Java对象中。 3. SqlSessionFactory:SqlSessionFactory是MyBatis的核心接口,它负责创建SqlSession对象。SqlSessionFactory可以通过配置文件或者Java代码进行创建。 4. SqlSession:SqlSession是MyBatis的核心对象,它提供了执行SQL语句和管理事务的方法。我们可以通过SqlSession执行映射文件中定义的SQL语句,并获取执行结果。 5. Executor:Executor是MyBatis的执行器,它负责执行SQL语句并返回结果。MyBatis提供了三种执行器:SimpleExecutor、ReuseExecutor和BatchExecutor。 6. StatementHandler:StatementHandler是MyBatis的语句处理器,它负责处理SQL语句的执行过程。StatementHandler使用JDBC的PreparedStatement对象执行SQL语句,并将结果映射到Java对象中。 7. ResultSetHandler:ResultSetHandler是MyBatis的结果集处理器,它负责将查询结果映射到Java对象中。ResultSetHandler使用反射机制将查询结果映射到Java对象的属性中。 8. TypeHandler:TypeHandler是MyBatis的类型处理器,它负责将Java对象与数据库中的数据进行转换。TypeHandler可以将Java对象转换为JDBC类型,并将JDBC类型转换为Java对象。 9. 动态代理:MyBatis使用动态代理技术生成Mapper接口的实现类。在运行时,MyBatis会根据Mapper接口的方法生成相应的SQL语句,并执行该SQL语句。 总结起来,MyBatis工作原理是通过配置文件和映射文件定义SQL语句与Java方法之间的映射关系,然后通过SqlSessionFactory创建SqlSession对象,最后通过动态代理技术执行SQL语句并返回结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FF在路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值