MyBatis核心配置文件

149 阅读3分钟

MyBatis 核心配置文件 – properties

properties: 属性。用键值对的方式配置属性值,用配置的属性替换配置文件中的值

image.png

(不推荐)第 1 种方式:直接在 properties 标签下配置 property

image.png

(推荐)第 2 种方式:配置 properties 文件

image.png

image.png

为什么推荐:配置 properties 文件的方式?

  • 可以在不同环境使用不同的 properties 文件,从而实现不同环境使用不同的属性值。

image.png

image.png

例如,生产和开发环境的数据库 url 配置应该是不一样的。

实现在不同环境使用不同的 properties 文件

  • 第 1 步:创建 profiles 文件夹,创建不同环境的文件夹(prod、dev),在不同环境的文件夹下创建 properties 文件
  • 第 2 步:在 pom.xml 文件中配置 profiles 环境配置

image.png

  • 第 3 步:在 pom.xml 文件中配置 resources 打包配置

image.png

  • 第 4 步:执行 maven 打包
    • 方式 1:使用 IDEA maven 工具栏
    • image.png
    • 方式 2:maven 打包命令
    • image.png

MyBatis 核心配置文件 – typeAliases

typeAliases: 类型别名。类型别名可为 Java 类型设置一个缩写名字。它仅用于 XML 配置,意在降低冗余的全限定类名书写。

  • 方式1:用 typeAlias 逐个配置类型别名

image.png

image.png

image.png

  • 方式2:配置 package 为包路径下的所有类配置类型别名,类型别名 = 类名

image.png

  • MyBatis 配置了一些默认的类型别名,方便开发者使用。见 TypeAliasRegistry 类。

image.png

MyBatis 核心配置文件 – environments

  • MyBatis 可以通过 environments 实现多环境的,但一般我们不用这种方式实现,而使用不同环境 properties 文件来实现多环境。因此我们一般只配置一个 environment。
  • environment 下可以配置 transactionManager 和 dataSource

image.png

  • transactionManager:事务管理器, MyBatis 中有两种类型的事务管理器 JDBC | MANAGED
    • JDBC – 这个配置直接使用了 JDBC 的提交和回滚功能
    • MANAGED – 这个配置几乎没做什么。从不提交或回滚一个连接,而是让容器来管理事务的整个生命周期
    • 如果你正在使用 Spring + MyBatis,则没有必要配置事务管理器,因为 Spring 模块会使用自带的管理器来覆盖前面的配置
  • dataSource:数据源配置
    • type ,数据源类型,MyBatis 支持三种数据源类型 UNPOOLED | POOLED | JNDI
      • UNPOOLED,不使用连接池,每次请求时打开和关闭连接
      • POOLED,使用连接池
      • JNDI,这个数据源实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的数据源引用。
    • property 主要包含数据库连接配置,driver、url、username、password

MyBatis 核心配置文件 – mappers

配置 XML 映射文件

  • 方式1:使用相对于类路径的资源引用

image.png

  • 方式2:使用映射器接口的完全限定类名

image.png

  • 方式3:将包内的映射器接口全部注册为映射器

image.png

注意:如果使用方式3,要求 mapper xml 文件和 mapper 接口类所在的路径要完全相同

image.png