在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的对象
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();将数据库连接池放到连接池中