MyBatis核心配置文件结构及核心配置文件标签详解

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MyBatis核心配置文件结构及核心配置文件标签详解

一、文件结构


● 核心配置文件命名建议是mybatis-config.xml,无强制要求


核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息


核心配置文件存放的位置是maven工程下的src/main/resources目录下


简易结构如下,核心配置文件的标签不止这几个


<?xml version="1.0" encoding="UTF-8" ?>
<!--DTD约束-->
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--
        1.environments配置数据库的环境,环境可以有多个
        2.default属性指定使用的环境--><environments default="development">
    <!--
        1.environment配置具体某个数据库的环境
        2.id属性唯一标识这个环境
    -->
    <environment id="development">
    <!--
        1.transactionManager设置事务管理方式
        2.type属性取值有“JDBC|MANAGED”
        3.JDBC指当前环境中使用的是JDBC中原生的事务管理方式,事务的提交或回滚需要手动处理
        4.MANAGED指被管理,例如Spring中
    -->
    <transactionManager type="JDBC"/>
    <!--
        1.dataSource配置数据源
        2.取值有"POOLED|UNPOOLED|JNDI"
        3.POOLED表示使用数据库连接池缓存数据库连接
        4.UNPOOLED:表示不使用数据库连接池
        5.JNDI表示使用上下文中的数据源-->
        <dataSource type="POOLED">
            <!--设置链接数据库的驱动-->
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <!--设置连接数据库的地址-->
            <property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
            <!--设置连接数据库的用户名-->
            <property name = "username" value="root"/>
            <!--设置连接数据库的密码-->
            <property name="password" value="lxq"/>
        </dataSource>
    </environment>
</environments>
<!--mappers用于引入映射的配置文件-->
    <mappers>
        <!--mapper用于指定某个映射文件,resource属性指定文件路径-->
        <mapper resource="mappers/UserMapper.xml"/>
    </mappers>
</configuration>


二、核心配置文件详解


1、标签顺序


● 核心配置文件中configuration标签下的子标签要按照一定的顺序书写


● properties => settings => typeAliases => typeHandlers => objectFactory =>

objectWrapperFactory => reflectorFactory => plugins => environments =>

databaseIdProvider => mappers


2、标签详解


<properties> 标签


用于引入某个properties配置文件,是一个单标签


resource属性指定配置文件


范例:<properties resource="jdbc.properties" />


<typeAliases> 标签


● 用于为某个类的全类名设置别名,子标签是<typeAlias>


● 一个子标签对应设置一个类的别名


● 子标签下有type和alias两个属性,type指定需要设置别名的类的全类名,alias指定别名


● 如果只设置了type属性,那么默认的别名就是它的类名(不是全类名)而且不区分大小写


● 如果想要设置某个包下所有类的别名,可以使用<package>标签,用name属性指定包名


范例:


<typeAliases>
    <typeAlias type="com.lxq.pojo.User" alias="User"></typeAlias>
    <package name="com.lxq.pojo"></package>
</typeAliases>


MyBatis中内建了一些类型的别名,常见的有:


Java类型 别名
int _int或_integer
integer int或integer
String string
List list
Map map


<property> 标签


用于配置连接数据库时用到的各种属性,是一个单标签


该标签有两个属性,一个是name指定属性名,另一个是value指定属性值


如果不使用<properties>标签引入相关配置文件时,使用方式如下:


<property name="driver" value="com.mysql.jdbc.Driver" />


如果使用<properties>标签引入相关的配置文件时,value属性可以写成如下形式:


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


其中配置文件的内容是:


jdbc.driver=com.mysql.jdbc.Driver


注意:这里使用jdbc.driver来给键命名是因为核心配置文件中可能会引入其他的配置文件,如果使用driver来命名键的话有可能会跟其他配置文件中的键同名而产生冲突


<mappers> 标签


● 该标签用于引入映射文件


● 每个映射文件使用子标签<mapper>来表示,该子标签是一个单标签


● 子标签<mapper>使用属性resource来指定需要引入的映射文件


● 如果想要将某个包下所有的映射文件都引入,可以使用<package>标签,使用name属性来指定需要引入的包


范例:


<mappers>
    <mapper resource="mappers/UserMapper.xml" />
    <package name="com.lxq.mapper" />
</mappers>


注意:使用包的形式引入映射文件需要满足两个条件,1.mapper接口所在的包和映射文件所在的包要一致;2.mapper接口名和映射文件名要相同

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6月前
|
SQL XML Java
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢
53 0
|
5月前
|
XML Java 数据库连接
MyBatis入门——MyBatis XML配置文件(3)
MyBatis入门——MyBatis XML配置文件(3)
69 6
|
2月前
|
SQL XML Java
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
文章介绍了MyBatis中动态SQL的用法,包括if、choose、where、set和trim标签,以及foreach标签的详细使用。通过实际代码示例,展示了如何根据条件动态构建查询、更新和批量插入操作的SQL语句。
mybatis复习03,动态SQL,if,choose,where,set,trim标签及foreach标签的用法
|
2月前
|
SQL XML Java
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
文章介绍了MyBatis中高级查询的一对多和多对一映射处理,包括创建数据库表、抽象对应的实体类、使用resultMap中的association和collection标签进行映射处理,以及如何实现级联查询和分步查询。此外,还补充了延迟加载的设置和用法。
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
|
1月前
|
SQL XML Java
Mybatis的<where>,<if>等标签用法
这篇文章详细解释了Mybatis中<where>和<if>等标签的用法,展示了如何在SQL动态构建中有效地过滤条件和处理逻辑分支。
162 1
|
1月前
|
SQL Java 数据库连接
Mybatis入门(select标签)
这篇文章介绍了Mybatis中`select`标签的基本用法及其相关属性,并通过示例展示了如何配置和执行SQL查询语句。
39 0
Mybatis入门(select标签)
|
1月前
|
SQL Java 数据库连接
Mybatis的<insert>,<update>,<delete>标签用法
这篇文章详细讲解了Mybatis中<insert>, <update>, <delete>标签的使用方法,并提供了示例代码来展示如何执行数据库的增删改操作。
24 0
|
3月前
|
SQL Java 数据库连接
MyBatis Mapper.XML 标签使用说明
MyBatis Mapper.XML 标签使用说明
37 0
|
5月前
|
存储 Java 数据库连接
mybatis精讲(三)--标签及TypeHandler使用
mybatis精讲(三)--标签及TypeHandler使用
|
6月前
|
SQL Java 数据库连接
Mybatis快速入门,Mybatis的核心配置文件
Mybatis快速入门,Mybatis的核心配置文件
45 1