Mybatis框架的相关知识

Mybatis框架

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

Mybatis框架的优点

      1.与jdbc相比,减少了50%以上的代码量
      2.Mybatis是最简单的持久化框架,小巧并且简单易学
      3.Mybatis相当灵活,不会对应用程序或者数据库现有设计强加任何影响,sql写在XML里,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,并可重用
      4.提供XML标签,支持动态编写SQL语句,在编写SQL语句中,#告诉mybatis使用实际的参数值代替,并使用PrepareStatement对象执行sql语句,#{}代替sql语句中的?,可以防止sql注入,效率高,$是字符串连接方式,告诉mybatis使用 $ 包含的字符串替换所在位置,使用Statement把sql语句和${}内容联系起来,由sql注入的风险,缺乏安全性
      5.提供映射标签,支持对象与数据库的ORM字段关系映射

Mybatis的核心组件

      mybatis的核心组件包括:SqlSessionFactoryBuilder(构造器)、SqlSessionFactory(工厂接口)、SqlSession(会话接口)、SQL Mapper(映射器)。接下来通过一张图来整体展示四个核心组件的关系:

在这里插入图片描述
一 SqlSessionFactoryBuilder(构造器)
作用:根据配置信息或者代码来生成SqlSessionFactory
二 SqlSessionFactory(工厂接口)
作用:生产SqlSession会话
三 SqlSession(会话)
(1)作用:1)获取映射器,让映射器通过命名空间和方法名称找到对应的SQL,发送给数据库执行后返回结果;2)通过update、insert、select、delete等方法,带上SQL的id来操作在XML中配置好的SQL,从而完成工作,与此同时它也支持事务,通过commit、rollback方法提交或者回滚事务。
四 Sql Mapper(映射器)
(1) 作用:1)定义参数、2)描述缓存、3)描述SQL语句、4)定义查询结果和POJO的映射关系

猜你喜欢

转载自blog.csdn.net/weixin_51656756/article/details/120932358