Mybatis核心配置文件概述

本文详细解读了MyBatis的核心配置文件,包括环境配置(默认环境、事务管理器和数据源)、mappers的映射器加载方式以及typeAliases的别名定义。重点介绍了不同类型的事务管理和数据源选项。
摘要由CSDN通过智能技术生成

MyBatis核心配置文件层级关系

  • configuration配置

  • properties属性

  • settings设置

  • typeAliases类型别名

  • typeHandlers类型处理器

  • objectFactory对象工厂

  • plugins插件

  • environments环境

    environrnent 环境变量

    transactionManager事务管理器

    dataSource数据源

  • databaseldProvider数据库厂商标识

  • mappers映射器

核心配置文件

<?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>
    <environments default="development">指定默认的环境名称
        <environment id="development"> 指定当前环境名称
            <transactionManager type="JDBC"/>指定事务管理类型是JDBC
            <dataSource type="POOLED"> 指定当前数据源类型是连接池
                配置的数据库基本参数
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
                <property name="username" value="root"/>
                <property name="password" value="a1988121188"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="org/DAO/User-mapper.xml"/>
    </mappers>
</configuration>

environments环境

<environments default="development">指定默认的环境名称 <environment id="development"> 指定当前环境名称

id="development"指向的是default="development" , 改成 id="abc"指向的是default="abc",当前环境不变

transactionManager事务管理器

其中,事务管理器(transactionManager)类型有两种:

  • JDBC(常用):这个配置就是直接使用了JDBC的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域。

  • MANAGED:这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如JE应用服务器的上下文)。默认情况下它会关闭连接,然而一些容器并不希望这样,因此需要将closeConnection属性设置为false来阻止它默认的关闭行为。

dataSource 数据源

其中,数据源(dataSource)类型有三种: UNPOOLED:这个数据源的实现只是每次被请求时打开和关闭连接。 POOLED:这种数据源的实现利用“池”的概念将JDBC连接对象组织起来。 JNDI:这个数据源的实现是为了能在如EJB或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个JNDI上下文的引用。

mappers

<mappers> <mapper resource="org/DAO/User-mapper.xml"/> </mappers>

该标签的作用是加载映射的,加载方式有如下几种:

  • 使用相对于类路径的资源引用(常用)

    例如:<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>·

  • 使用完全限定资源定位符(URL),例如:mapperurl="file:///var/mappers/AuthorMapper.xml"/·

  • 使用映射器接口实现类的完全限定类名

    例如: <mapper class="org.mybatis.builder.AuthorMapper"/>

  • 将包内的映射器接口实现全部主册为映射器

    例如: <package name="org.mybatis.builder"/>

    typeAliases(定义别名)

    通常情况下 mybatis 已经把基础数据类型 和常用引用类型 自动定义好了别名 例如Interger 的别名是int

<typeAliases> <typeAlias type="org.pojo.User" alias="user"></typeAlias> </typeAliases>

把User这个实体类 起个别名 user 这样更方便使用

如果随意在配置文件里面定义别名会触发这个bug,可以看到它是因为配置的顺序不对引发的bug

它要求定义别名要在properties之后 ,带?号的参数代表可写可不写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

humannoid

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

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

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

打赏作者

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

抵扣说明:

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

余额充值