Mybatis框架的运行原理

MyBatis的一大特征(核心):

MyBatis中接口中的方法和命名空间的sql语句绑定。可以称为面向接口编程。




Mybatis的运行原理:

概括:Mybatis通过xml或注解的方式将要执行的statement配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。

 

1mybatis配置

Configuration.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。

mapper.xml文件即sql映射文件,可以用别名配置多个。文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载

使用<mappers><mapperresource=””><mappers>

2 通过mybatis环境等配置信息构造SqlSessionFactory即会话工厂

3 由会话工厂创建sqlSession即会话,操作数据库需要通过sqlSession进行。

4getMapper(接口.class),找到对应的命名空间。创建接口对象。

5sql映射文件的SQL语句对应接口的方法,当接口对象调用相应的方法时,就会执行相应的sql语句。

6、将Java对象映射成相应的记录。

7、事务提交。

8、关闭SqlSession

 

 

说明:

1 mybatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个是基本执行器、一个是缓存执行器。

2 Mapped Statement也是mybatis一个底层封装对象,它包装了mybatis配置信息及sql映射信息等。mapper.xml文件中一个sql对应一个Mapped Statement对象,sqlid即是Mapped statementid

3 Mapped Statementsql执行输入参数进行定义,包括HashMap、基本类型、pojoExecutor通过 Mapped Statement在执行sql前将输入的java对象映射至sql中,输入参数映射就是jdbc编程中对preparedStatement设置参数。

 

说明:Statement对象用于执行不带参数的简单SQL语句。Statement对象用 Connection的方法createStatement创建。

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值