mybatis核心类简介

推荐像我一样初学者可以看看API 👉 mybatis在线API

  • SqlSessionFactoryBuilder
    读取全局配置文件,得到数据源的信息,创建连接的工厂(SqlSessionFactory)
    通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory
    将SqlSessionFactoryBuilder当成一个工具类使用,无需单例模式管理SqlSessionFactoryBuilder。
    在需要创建SqlSessionFactory时,只需new一次SqlSessionFactoryBuilder即可。

      SqlSessionFactoryBuilder有五个build()方法,每个方法允许您从不同来源中创建SqlSession:

  • SqlSessionFactory
    连接工厂,通过SqlSessionFactory创建SqlSession,一个数据库会对应一个连接工厂(提供很多个连接),存在于应用程序的整个运行生命周期,单例的。
      POOLED:factory中的连接是可以重用的,连接池
      UNPOOLED:每次使用由工厂提供一个新的连接
      JNDI:与框架容器整合的时候,数据连接配置项的使用

  • SqlSession
    数据库的连接,SqlSession是一个面向用户(软件工程师)的接口,完成一次数据库的访问和结果的映射的对象
    注意

    • 一个连接不能让多个线程同时使用
    • 每个线程都应该有一个SqlSession的实例来完成对数据库的操作
    • JDBC中的事务是携带在Connection,mybatis中的事务是携带在SqlSession
    • web模型:每次请求——一个线程——SqlSession,SqlSession在web的作用域对应的是request,每个请求其实是对应一个事务,事务——SqlSession,请求结束的时候,SqlSession会关闭

  • Mapper映射类
    更映射关系对应,SQL
    接口代理类
    session.getMapper(接口 Class 实例)
      将传入的接口类型与映射XML配置文件关联起来,接口的实现是基于XML配置文件中的SQL实现,生成代理类对象

mybatis核心配置文件简介

  • SqlMapConfig.xml
    全局配置文件:
    1️⃣ 配置数据源(建立连接相关的信息)
    2️⃣ 配置事务
    3️⃣ 配置映射文件

    配置的是数据库的相关信息(部分)

    • ❤️ environments
      💡 mybatis 可以配置多套运行环境,有助于SQL映射到多个数据库
      💡 每个environment会对应到一个SQLSessionFactory
      💡 多个environment是通过不同的id来区分的

    • ❤️ transactionManager:事务管理器
      💡 JDBC:使用JDBC事务的提交和管理,依赖于从数据源获得连接来管理事务的生命周期
      💡 MANAGED:使用容器如Spring来管理事务

    • ❤️ dataSource:配置数据源
      💡 POOLED:这个数据源的实现缓存了 JDBC 连接对象,用于避免每次创建新的数据库连接时都初始化和进行认证,加快程序响应。并发 WEB 应用通常通过这种做法来获得快速响应
      💡 UNPOOLED:每次遇到的时候都要打开和关闭数据源
      💡 JNDI: 这个数据源的配置是为了准备与像 Spring 或应用服务器能够在外部或者内部配置数据源的容器一起使用,然后在 JNDI 上下文中引用


  • Mapper.xml
    映射文件,映射SQL相关的
    配置的是操作某某表的SQL语句

    • ❤️ 命名规范:XXXMapper.xml:原始的ibatis命名方式

    • ❤️ namespace:映射文件的命名空间,根据这个空间查找方法

    • ❤️ SQL语句
      💡 select
      💡 insert
      💡 delete
      💡 update

    • ❤️ SQL语句具体的配置项
      💡 id:命名空间下的SQL的标志符
      💡 parameterType:输入参数的类型,基本数据类型,对象类型
      💡 resultType:返回类型,一般是返回的类

ps:因作者能力有限,有错误的地方请见谅

  • 喜欢这篇文章的话可以用快捷键 Ctrl + D 来收藏本页
× 请我吃糖~
打赏二维码