MyBatis的核心配置文件

前言

这篇文章整理了MyBatis的核心配置文件中常用一些标签


一、常用标签

<properties :加载perperties文件
<settings :设置
<typeAliases 注册别名
<environments 环境配置
<transactionManager 配置事务管理器
<dataSource 配置数据源
<mappers 加载映射文件

二.标签介绍

1. < properties >

加载properties文件, 使用时 用${}
如:jdbc.properties中 jdbc.driver=com.mysql.jdbc.Driver
使用时 ${jdbc.driver}

<properties resource="jdbc.properties"/>
<property name="driver" value="${jdbc.driver}"/>

2. < settings >

    <settings>
        <!--    设置日志输出底层执行的代码 -->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
        <!--    把数据库字段的下划线映射成小驼峰命名 -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <!--    开启二级缓存-->
        <setting name="cacheEnabled" value="true"/>
    </settings>

3. < typeAliases >

两种方式:< typeAlias >,< package >

3.1单个注册
type:实体类的全限定类名,不区分大小写

    <typeAliases>
<!--        单个注册-->
        <typeAlias type="com.hem.pojo.Student" alias="student"></typeAlias>
    </typeAliases>

3.2批量注册
注册后这个包下面的实体类都会注册别名,别名就是类名,且不区分大小写

    <typeAliases>
<!--        批量注册别名
            别名是类名的驼峰命名法(规范)-->
        <package name="com.hem.pojo"/>
    </typeAliases>

使用示例: 由com.itheima.pojo.Student–>student

    <select id="getAll" resultType="student" >
        select id,name,email,age
        from student;
    </select>

4. < environments >

可以有多个环境,default使用不同的id,哪个id的配置就生效,id就是提供给default使用

<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="home">-->
<!--            <transactionManager type=""></transactionManager>-->
<!--            <dataSource type=""></dataSource>-->
<!--        </environment>-->

<!--        <environment id="company">-->
<!--            <transactionManager type=""></transactionManager>-->
<!--            <dataSource type=""></dataSource>-->
<!--        </environment>-->
    </environments>

5. < transactionManager >

两种类型JDBC,MANAGER
JDBC:使用了JDBC的提交和事务回滚设置,依赖JDBC的Connection管理事务
MANAGER:它的提交和回滚方法不用任何操作,而是把事务交给容器处理

<transactionManager type="JDBC"></transactionManager>

6. < dataSource >

用来配置数据源,
三种类型:UNPOOLED、POOLED、JNDI
UNPOLLED:不使用数据库连接池
POOLED:使用数据库连接池
JNDI:java命名目录接口,在服务器端进行数据库连接池的管理

    <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>

7. < mappers >

用来加载配置文件
四种方式: < mapper >标签 属性resource url class , < package >标签
且优先级package>resource>url>class (底层代码中if判断的顺序是这样)

7.1

    <mappers>
        <package name="com.hem.mapper"/>
    </mappers>

7.2

    <mappers>
        <mapper resource="StudentMapper.xml"/>
    </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>
<!--一定要按顺序,不能调换-->

         <!--    读取peoperties文件
         属性:
             resources:从resources目录下找指定名称的文件加载
                 jdbc.properties
             url:使用绝对路径加载
                 E:\idea项目\mybatis_001_student\src\main\resources\jdbc.properties
         -->
    <properties resource="jdbc.properties"/>


<!--    设置日志输出底层执行的代码-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>


<!--    注册实体类别名-->
    <typeAliases>
<!--        单个注册-->
<!--        <typeAlias type="com.hem.pojo.Student" alias="student"></typeAlias>-->
<!--        批量注册别名
            别名是类名的驼峰命名法(规范)-->
        <package name="com.hem.pojo"/>
    </typeAliases>



         <!--    数据库连接配置
             可以有多个环境,default使用不同的id,哪个id的配置就生效
             id就是提供给default使用
         -->
    <environments default="development">
        <environment id="development">

<!--            配置事务管理器          可以查看源码,有哪些属性选择org.mybatis-mybatis-org-apache-ibatis-builder-xml
                   type:指定事务管理的方式
                       JDBC:事务的控制交给程序员
                       MANAGED:由容器(spring)来管理实务
                   -->
            <transactionManager type="JDBC"></transactionManager>

<!--            配置数据源
                   type:指定不同的配置方式
                        JNDI:java命名目录接口,在服务器端进行数据库连接池的管理
                        POOLED:使用数据库连接池
                        UNPOLLED:不使用数据库连接池
                   -->
            <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="home">-->
<!--            <transactionManager type=""></transactionManager>-->
<!--            <dataSource type=""></dataSource>-->
<!--        </environment>-->

<!--        <environment id="company">-->
<!--            <transactionManager type=""></transactionManager>-->
<!--            <dataSource type=""></dataSource>-->
<!--        </environment>-->
    </environments>

         <!--    注册mapper。xml文件
              resources:从resources目录下找指定名称的文件加载
             url:使用绝对路径加载
             class:动态代理方式下注册
             -->
    <mappers>
        <mapper resource="StudentMapper.xml"/>
    </mappers>
</configuration>

202210151617六

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

baibai___

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

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

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

打赏作者

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

抵扣说明:

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

余额充值