当前位置: 首页 > news >正文

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六

相关文章:

  • 做网站需要注意哪些/注册公司网站
  • 贵州省住房和城乡建设厅网站(/合肥网站排名推广
  • 做游戏网站思想步骤/东莞百度快速优化排名
  • 励志做的很好的网站/2023年4月疫情恢复
  • 哔哩哔哩h5播放器/优化外包服务公司
  • 怎么才能建设免费网站/互联网全网营销
  • 【SpringCloud学习笔记】Feign
  • 黑猫带你学UFS协议第8篇:UFS标志(Flags)和属性(Atrributes)详解
  • 你一定要知道的代码规范(进阶)
  • [Vue]插件
  • 大话西游服务端开服架设服务器搭建教程
  • 第三章Linux环境基础开发工具使用(yum+rzsz+vim+g++和gcc+gdb+make和Makefile+进度条+git)
  • C++(类与对象)是纸老虎吗?
  • 这些Java基础知识,诸佬们都还记得嘛(学习,复习,面试都可)
  • 00后表示真干不过,部门新来的00后测试员已把我卷崩溃,想离职了...
  • 每日一练<2>
  • Vue——组件间常用通信方式详解
  • 【鸟哥杂谈】搭建自己的本地mqtt服务器 emqx