mybatis启动与执行流程

MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs (Plain Old Java Objects, 普通的 Java 对象) 映射成数据库中的记录。

MyBatis 启动流程

  1. 加载配置文件

    • MyBatis 的启动首先是从加载 MyBatis 的配置文件开始的,通常是 mybatis-config.xml
    • 这个配置文件包含了 MyBatis 的全局配置信息,如环境配置、数据库连接信息、事务管理器等。
  2. 创建 SqlSessionFactory

    • 使用 SqlSessionFactoryBuilder 类来读取 mybatis-config.xml 配置文件,并创建一个 SqlSessionFactory 实例。
    • SqlSessionFactory 是 MyBatis 的核心接口,用于创建 SqlSession
  3. 创建 SqlSession

    • 通过 SqlSessionFactory 实例创建 SqlSession 对象。
    • SqlSession 提供了执行 SQL、获取映射器(Mapper)等方法。
  4. 获取 Mapper

    • 使用 SqlSessiongetMapper 方法获取 Mapper 接口的实例。
    • Mapper 接口通常包含了与数据库交互的方法,这些方法对应着 SQL 语句。
  5. 执行操作

    • 通过 Mapper 接口实例调用方法来执行 SQL 语句。
    • MyBatis 会根据方法的注解或 XML 映射文件中的配置,找到对应的 SQL 语句并执行。
  6. 关闭 SqlSession

    • 操作完成后,需要关闭 SqlSession 以释放资源。

MyBatis 执行流程

  1. 接收请求

    • 客户端发送请求,通常是调用 Mapper 接口的方法。
  2. 查找 SQL 语句

    • MyBatis 根据 Mapper 接口方法的签名(如方法名和参数类型)查找对应的 SQL 语句。
    • 这个 SQL 语句可以是注解在 Mapper 接口方法上的,也可以是 XML 映射文件中的。
  3. 参数处理

    • 如果 SQL 语句需要参数,MyBatis 会将方法的参数转换为 JDBC 能够理解的类型,并设置到 SQL 语句中。
  4. 执行 SQL

    • MyBatis 使用 JDBC 执行 SQL 语句,并将结果集(ResultSet)返回。
  5. 结果映射

    • MyBatis 将结果集映射为 Java 对象。这通常是通过在 XML 映射文件中定义 <resultMap> 来完成的。
    • 如果 SQL 语句返回的是单条记录,MyBatis 会将结果映射为一个 Java 对象;如果返回的是多条记录,MyBatis 会将结果映射为一个 Java 对象列表。
  6. 返回结果

    • MyBatis 将映射后的 Java 对象返回给客户端。
  7. 关闭连接

    • 在完成所有操作后,MyBatis 会关闭与数据库的连接。

这就是 MyBatis 的启动流程和执行流程。MyBatis 通过配置文件、SqlSessionFactorySqlSession 和 Mapper 接口,将 SQL 语句的执行和 Java 对象的映射过程抽象化,使得开发者能够更专注于业务逻辑的实现。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值