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语句语法有所不同)

  • 相关阅读:
    vue hover如何触发事件?
    防止 window.open 被拦截
    input输入框change和blur事件区别
    神马?使用JS直接上传并预览粘贴板的图片?
    删除设备与驱动器中百度网盘图标
    枚举类字典代码 草稿
    中文转换成阿拉伯数字
    Java对象与类中的一个小练习
    正向代理和反向代理
    MySQL教程126-MySQL事务隔离级别
  • 原文地址:https://www.cnblogs.com/zhuhuibiao/p/9825274.html
Copyright © 2011-2022 走看看