微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mybatis的执行流程

一:XML文件中的DTD是什么?

DTD的全称为Document Type DeFinition,是一种文件定义格式,它规定了XML文件结构为XML文件提供了语法与规则。在DTD中定义XML文件的结构,然后按照DTD的声明来编写XML文件。就好像编程语言中的函数定义,在使用函数时要根据函数声明的格式进行来引用。

 

二:MyBatis的创建过程

 

创建MyBatis的基本步骤如下:

 

  1. 创建java工程

  2. 加入mybatis的jar包数据库驱动包等

  3. 在pojo包下创建pojo类

  4. 在mapper包下创建任意名称的接口和任意名称的xml映射文件,设置dtd文件

  5. 在resources包下创建mybatis-config.xml核心配置文件名称任意,设置dtd文件

  6. 编写映射文件

  7. 在主配置文件中加载xml映射文件

  8. 测试程序:

    1)用mybatis提供的Resources类读取配置文件

    2)用sqlSessionFactoryBuilder获得会话工厂,传入配置文件

    3)用工厂生产sqlSession

    4)调用sqlSession的相关方法获得结果

    5)关闭sqlSession对象

注意事项:

  • Resources:建包,只能手动一个一个建;

  • dao层的接口名和映射文件的名字必须一致,且映射文件只能写在resources目录下

  • mapper映射文件中的namespace只能和接口的类路径保持一致

  • 在mybatis-config.xml中元素标签的位置是有顺序的,顺序不对不能成功运行

  • 记得将mapper映射文件引入到mybatis.xml文件中去

  • sqlSession增删改的时候记得sqlSession.commit();

  • 别名不区分大小写,增删改映射文件中是没有返回值类型的;int类型会认返回.

 

三.Mybatis的工作原理

 

 执行流程:

(1)读取MyBatis的配置文件。mybatis-config.xml为MyBatis的全局配置文件,用于配置数据库连接信息。

(2)加载映射文件。映射文件sql映射文件,该文件中配置了操作数据库sql语句,需要在MyBatis配置文件mybatis-config.xml中加载。mybatis-config.xml 文件可以加载多个映射文件,每个文件对应数据库中的一张表。

(3)构造会话工厂。通过MyBatis的环境配置信息构建会话工厂sqlSessionFactory。

(4)创建会话对象。由会话工厂创建sqlSession对象,该对象中包含了执行sql语句的所有方法

(5)Executor执行器。MyBatis底层定义了一个Executor接口来操作数据库,它将根据sqlSession传递的参数动态地生成需要执行的sql语句,同时负责查询缓存的维护。

(6)MappedStatement对象。在Executor接口的执行方法中有一个MappedStatement类型的参数,该参数是对映射信息的封装,用于存储要映射的sql语句的id、参数等信息。

(7)输入参数映射。输入参数类型可以是Map、List等集合类型,也可以是基本数据类型和POJO类型。输入参数映射过程类似于JDBC对preparedStatement对象设置参数的过程。

(8)输出结果映射。输出结果类型可以是Map、List等集合类型,也可以是基本数据类型和POJO类型。输出结果映射过程类似于JDBC对结果集的解析过程。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。