【MyBatis】核心配置文件详解

👉 博客主页:准Java全栈开发工程师
👉 00年出生,即将进入职场闯荡,目标赚钱,可能会有人觉得我格局小、觉得俗,但不得不承认这个世界已经不再是以一条线来分割的平面,而是围绕财富旋转的球面,成为有钱人不是为了去掌控球体的转向,而是当有人恶意掌控时,努力保护好家人和自己。

写在前面

  • 涉及标签
    properties -> settings -> typeAliases -> typeHandlers -> objectFactory -> objectWrapperFactory -> reflectorFactory -> plugins -> environments -> databaseIdProvider -> mappers
  • 以上标签并非一定要出现在配置文件中,只需要声明需要使用的标签即可,但是声明的标签,需要按照上述顺序依次声明,不能交换顺序

一、MyBatis 核心配置文件

<?xml version="1.0" encoding="UTF-8" ?>    
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <properties resource="jdbc.properties"/>
    <typeAliases>
        <package name="pojo"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mappers/UserMapper.xml"></mapper>
    </mappers>
</configuration>

二、配置文件详解

1、properties

<properties resource="jdbc.properties"/>
  • properties :用于引入 properties 文件。
    • resource 属性 :指定引入文件的名称。

2、typeAliases

<typeAliases>
    <typeAlias type="pojo.User" alias="User"/>
    <typeAlias type="pojo.User" />
    <package name="pojo"/>
</typeAliases>
  • typeAliases :设置类的别名。有上述三种实现方式。
    • typeAlias :设置某一个类的别名。
      • type :指定类的全限定名
      • alias :指定别名,也可以不使用 alias 标签设置默认值,使用默认提供的别名。
      • 默认提供的别名和类名相同,且别名是不区分大小写的。
    • 使用 typeAlias 标签一次只能设置一个类的别名,比较麻烦。
    • package : 以包为单位,为该包中所有的类设置别名,通常情况下我们都会使用默认的别名。
      • name :指定包名。

3、environments

<environments default="development">
    <environment id="development">
        <transactionManager type="JDBC"></transactionManager>
        <dataSource type="POOLED">
            <property name="driver" value="${jdbc.driver}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
        </dataSource>
    </environment>
    <environment id="test">
        <transactionManager type="JDBC"></transactionManager>
        <dataSource type="POOLED">
            <property name="driver" value="${jdbc.driver}"/>
            <property name="url" value="${jdbc.url}"/>
            <property name="username" value="${jdbc.username}"/>
            <property name="password" value="${jdbc.password}"/>
        </dataSource>
    </environment>
</environments>
  • environments :一个复标签,该标签中可以声明多个连接数据库的环境,具体的环境使用 environment 标签设置。
    • default :指定默认使用的环境id
  • environment :设置具体的数据库环境信息
    • id :指定环境名称。
    • transactionManager :设置事务管理器。
      • type :指定事务管理方式,可选择: JDBC 和 MANAGED。
      • JDBC :设置当前环境的事务管理必须手动提交处理
      • MANAGED :设置事务被管理,如:被 Spring 的 AOP 管理
    • dataSource :设置数据源。
      • type :设置数据源类型,可选择:POOLED 、UNPOOLED 、JNDI
      • POOLED :使用数据库连接池方式,会缓存连接,下次使用直接从缓冲中直接获取即可,无需再重新创建
      • UNPOOLED :不使用数据库连接池,每次连接都需要创建新的连接
      • JNDI :调用上下文数据源
    • property :设置数据库连接信息。
      • driver :连接驱动。
      • url :连接地址
      • username :用户名
      • password :密码

4、mappers

<mappers>
    <mapper resource="mappers/UserMapper.xml"></mapper>
    <package name="mappers"/>
</mappers>
  • mappers :引入 mapper 映射文件,是一个复标签
    • mapper :引入单个映射文件,该方式比较麻烦,需要一个个设置。
      • resource :指定映射文件地址
    • package :以包为单位,引入包中所有的映射文件。推荐使用。
      • 使用该方式,需要保证:
        • mapper 接口和 mapper 映射文件必须在相同的包下
        • mapper 接口和 mapper 映射文件名必须相同

👉 以上就是文章的全部内容啦,诸佬如果有任何建议都可以提哦。
👉 创作不易,如果觉得对您有帮助的话,欢迎关注✨点赞👍收藏📂哦。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

准Java全栈开发工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值