mybatatis学习第一课

在pom.xml中加入依赖

        1.主要有mybatis的jar包

        2.和mysql的驱动

mybatise执行流程

 1.将框架中配置文件config.xml保存到Configuration(配置)中,因为从内存中读取速度快

将Configuration作为属性交给DefaultSqlsessionFactory类的实例对象

bulid只是将配置文件传给Configuration对象,加快读取速度

SqlSession的执行

opensession中执行的方法环境标签《envieron ment》中是事务<transactionManager>是如何管理,事务是如何来的《property》

autoCommit是否自动提交(默认为false); ececutor执行器 ;dirty=false默认在

3.由sqlsessionFactory工厂创建了一个sqlsession的对象

扫描二维码关注公众号,回复: 5443048 查看本文章

4.sqlSession。insert("insertDept",Dept);

insert里面return update调用

MappedStatement

5.dirty是sqlsession的一个属性默认为false,在update中赋值,变为true

在build过程中已经将id传了过去。如果dirty为false将让数据库进行回滚rollback,true则提交

(将xml文件变成对象然后将对象中的属性一一赋值,属性也就是xml文件中的id之类)防止sql注入用#’

通过配置文件将我们对象的值与sql值绑定,内部封装了statement,然后将statement推送过去

mybatis的工作原理和工作流程

1.将我们的配置文件读取,配置文件中有数据源,事务的管理方式,指定的sql映射文件位置

2.sqlsessionFactory(会话工厂)

根据核心配置文件生成一个工厂对象,作用就是创建一个sqlsession,

3.sqlsessin中的接口提供数据库的增删给查,

4.sqlsession中的接口executor进行具体的增删改查,

5.mapped statement(底层的封装工具类)负责具体的sql语句的执行以及查询结果集的返回

第二次封装

6,数据库

具体执行流程:

1.将mybatis的配置文件和sql语句保存到配置文件

2.mybatis运行时将配置文件信息存储到一个Configuration对象中

3.在创建具体的sqlsession对象提供属性

         (1).configuration对象

             (2).dirty对象默认为false在sql执行完可以进行事务的提交

                          falsesql执行错误执行回滚

                 (3)excutor执行器对象,创建statement,在创建的过程中依靠mapperStatement对象将赋值的内容和sql语句的占位符进行绑定

4.sqlsession.commit();根据dirty属性绝对相关的提交和回滚。

5.sqlsession.close();将数据库连接池放到连接池中

猜你喜欢

转载自blog.csdn.net/weixin_42546729/article/details/87915644