zoukankan      html  css  js  c++  java
  • Mybatis的工作流程

    MyBatis工作流程
    1:加载配置文件(mybatis-config.xml 、 *...Mapper.xml)并初始化,
    将SQL的配置信息加载成为一个个MappedStatement对象(包括了传
    入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。
    2:接收调用请求(调用Mybatis提供的API即增删改查的方法)并传入参数:
    即SQL的ID和传入参数对象
    3:处理操作请求,过程:
    (1)根据SQL的ID查找对应的MappedStatement对象。
    (2)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。
    (3)获取数据库连接,根据得到的最终SQL语句和执行传入参数,到数据库执行,并得到执行结果。
    (4)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。
    (5)释放连接资源。
    4:返回处理结果将最终的处理结果返回。

     

    MyBatis优点
    1:半自动化的ORM实现(实体类和SQL语句之间建立映射关系)
    2:SQL代码从程序代码中彻底分离,可重用
    3:与JDBC相比,减少了50%以上的代码量
    4:小巧灵活、简单易学,是最简单的持久化框架
    5:提供XML标签,支持编写动态SQL
    6:提供映射标签,支持对象与数据库的ORM字段映射

    MyBatis缺点
    1:SQL语句编写工作量大,对开发人员有一定sql技术要求
    2:数据库移植性差(不同数据库,sql语句语法有所不同)

  • 相关阅读:
    zyb的面试
    Codeforces Round #514 (Div. 2)
    Maximum GCD(fgets读入)
    Harmonic Number(调和级数+欧拉常数)
    Codeforces Round #516 (Div. 2, by Moscow Team Olympiad)
    Sigma Function (平方数与平方数*2的约数和是奇数)
    Leading and Trailing (数论)
    【贪心】【CF3D】 Least Cost Bracket Sequence
    【套题】qbxt国庆刷题班D1
    【极值问题】【CF1063B】 Labyrinth
  • 原文地址:https://www.cnblogs.com/zhuhuibiao/p/9825274.html
Copyright © 2011-2022 走看看