MyBatis的执行原理

为什么要使用mybatis?(JDBC的弊端)

 

 什么是框架?

框架是一个半成品,已经对基础的代码进行了封装并提供相应的API,开发者在使用框架是直接调用封装好的api可以省去很多代码编写,从而提高工作效率和开发速度。

框架定义: 框架是一种经过校验 具有一定功能的半成品软件。

经过校验:指框架本身经过测试 并且框架自身所具有的功能已经实现。

具有一定的功能: 指框架可以完成特定的功能 不同的框架功能不同。

半成品软件: 指框架自身是一个软件,但是改软件无法。

MyBatis可以将SQL语句配置在XML文件中 这避免了JDBC在java类中添加SQL语句的问题;通过MyBatis提供的输入参数映射方式 将参数只有灵活地配置在SQL语句配置文件中,解决了JDBC中参数在java类中手工配置的问题;通过MyBatis的输出映射机制,将结果集的检索自动映射成相应的java对象,避免了JDBC中对结果集的手工检索;同时MyBatis还可以创建自己的数据库连接池,使用XML配置文件的形式,对数据库连接数据进行管理,避免了JDBC的数据库连接参数的硬编码问题。

综上所述,MyBatis的特点是,采用配置文件动态管理Sql语句,并含有输入映射,输出映射机制及数据库连接池配置的持久层框架。

MyBatis优点--(面试题)

简单:易于学习,易于使用,通过文档和源代码,可以比较安全的掌握它的设计思路和实现。

实用:通过了数据映射功能,提供了对底层数据访问的封装,提供了DAO框架,可以使我们更容易的开发和配置。

灵活:通过SQL基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。

功能完整:提供了连接管理,缓存支持,线程支持(分布式) 事务管理,通过配置关系对象映射等数据访问需要解决的问题。提供了DAO支持,并在DAo框架中封装了DAO.NET NHibernate 和DataMapper.

增强系统的可维护性: 将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护 更易单元测试。SQL和代码的分离,提高了可维护性。

MyBatis整体架构,mybatis的执行原理

MyBatis的配置有2类配置文件 Mybatis-Config.xml 和Mapper.xml

MyBatis-Config.xml 配置了全局的参数 全局只有一个配置 文件名称不是固定的 随意取名,里面是你数据库的信息和一些代码格式的设置

 

 Mapper.xml 配置了sql Statement 改文件可以有多个 每个配置文件中可以有多个sql Statement 一句话这个配置文件就是写SQL语句的

 

2 通过配置文件可以得到SqlSessionFactory

3通过SqlSessionFactory 得到SqlSession 得到Sessin后可以执行SQL

4SqlSessio 通过垫层提供的Executor(执行器)执行SQL

5MyBatis 将Mapper.xml 中的SqlStatement 解析为MappedStatement对象

6通过参数输入 参数类型有三种,HashMap 简单类型 pojo

7 在数据库中执行SQL

8输出得到结果 输出类型有三种 HashMap 简单类型 pojo

代码中的使用步骤:

1) 通过配置文件创建SqlSessinFactory

2) SqlSessionFactory 创建SqlSession对象

3) 通过SqlSessin 操作数据库

4)调用session.commit() 提交事务

5)调用session.close() 关闭会话

posted @ 2022-02-13 15:13  秃头少女and战战  阅读(96)  评论(0编辑  收藏  举报