mybatis-config.xml-配置文件详解

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: mybatis-config.xml-配置文件详解

mybatis-config.xml-配置文件详解


说明


mybatis 的核心配置文件(mybatis-config.xml),比如配置jdbc 连接信息,注册mapper等等,我们需要对这个配置文件有详细的了解。


文档地址:


官方文档: https://mybatis.org/mybatis-3/zh/configuration.html

02621da59991445880cef4d5c6ef99e3.png


配置文件属性解析


properties 属性


通过该属性,可以指定一个外部的jdbc.properties 文件,引入我们的jdbc 连接信息。


应用实例


  1. 创建NLC_MyBatis\mybatis_quickstart\src\main\resources\jdbc.properties
jdbc.user=root
jdbc.password=123456
jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis?userSSL=true&userUnicode=true&char
acterEncoding=UTF-8
jdbc.driver=com.mysql.jdbc.Driver


修改mybatis-confing.xml

<?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>
    <!--引入外部的jdbc.properties-->
    <properties resource="jdbc.properties"/>
 <environments default="development">
        <environment id="development">
            <!--配置事务管理器-->
            <transactionManager type="JDBC"/>
            <!--配置数据源
                1. 我们使用外部的properties文件来设置相关的值
                2. 这个属性文件,需要统一放在 resources目录/类加载路径
            -->
            <dataSource type="POOLED">
                <!--配置驱动-->
                <property name="driver" value="${jdbc.driver}"/>
                <!--从外部文件动态使用-->
                <!--配置连接mysql-url
                解读:
                1. jdbc:mysql 协议
                2. 127.0.0.1:3306 : 指定连接mysql的ip+port
                3. mybatis: 连接的DB
                4. useSSL=true 表示使用安全连接
                5. &amp; 表示 & 防止解析错误
                6. useUnicode=true : 使用unicode 作用是防止编码错误
                7. characterEncoding=UTF-8 指定使用utf-8, 防止中文乱码
                -->
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.user}"/>
                <property name="password" value="${jdbc.pwd}"/>
            </dataSource>
        </environment>
    </environments>


  1. 修改父项目的pom.xml(如果已经配置了*.properties 就不用再配置) 并完成测试

image.png


settings 全局参数定义


  1. 感兴趣的可以看手册
  2. settings 列表,通常使用默认

image.png


应用实例


 <!--配置MyBatis自带的日志输出-查看原生的sql-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>


typeAliases 别名处理器


  1. 别名是为Java 类型命名一个短名字。它只和XML 配置有关,用来减少类名重复的部分
  2. 如果指定了别名,我们的MappperXxxx.xml 文件就可以做相应的简化处理
  3. 注意指定别名后,还是可以使用全名的


举例说明


  1. 修改NLC_MyBatis\mybatis_quickstart\src\main\resources\mybatis-config.xml
 <!--配置别名-->
    <typeAliases>
        <!-- 为某个mapper 指定一个别名, 下面可以在XxxxxMapper.xml 做相应简化处理-->
        <!--<typeAlias type="com.nlc.entity.Monster" alias="Monster"/>-->
        <!--
            如果一个包下有很多的类,我们可以直接引入包,这样
            该包下面的所有类名,可以直接使用
        -->
        <package name="com.nlc.entity"/>
    </typeAliases>


  1. 修改MonsterMapper.xml 并完成测试
<!--没有在mybatis-config.xml 指定typealiases 时,需要给Monster 指定全类名
<insert id="addMonster" parameterType="com.nlc.entity.Monster"-->
<!-- useGeneratedKeys="true" keyProperty="id"-->
<insert id="addMonster" parameterType="Monster" useGeneratedKeys="true" keyProperty="id">
 <!--useGenerated Keys是一个在数据库操作中常用的选项或属性。它用于指示数据库返回生成的主键值,
   keyProperty 用来定义和操作对象的主键。
-->
    INSERT INTO monster (age,birthday,email,gender,name,salary)
    VALUES(#{age},#{birthday},#{email},#{gender},#{name},#{salary})
</insert>


typeHandlers 类型处理器


用于java 类型和jdbc 类型映射

Mybatis 的映射基本已经满足,不太需要重新定义

这个我们使用默认即可,也就是mybatis 会自动的将java 和jdbc 类型进行转换.

java 类型和jdbc 类型映射关系一览[ 手册]

https://mybatis.org/mybatis-3/zh/configuration.html#typeHandlers

屏幕截图 2023-08-09 205104.png


environments 环境


1、MyBatis 可以配置多种环境,比如开发、测试和生成环境需要有不同的配置

2、每种环境使用一个 environment 标签进行配置并指定唯一标识符

3、可以通过 environment 标签中的 default 属性指定一个环境的标识符来快速的切换环境


environment 属性


environments:指定具体环境,mybatis 可以配置多种环境,default 指定使用某种环境,可以达到快速切换环境。


environment:配置一个具体的环境信息,id属性代表当前环境的唯一标识,


必须有下面两个标签:


transactionManager:事务管理器


dataSource:数据源


应用实例

<environments default="development">
        <environment id="development">
            <!--配置事务管理器-->
            <transactionManager type="JDBC"/>
            <!--配置数据源
           解读
            1. 我们使用外部的properties文件来设置相关的值
            2. 这个属性文件,需要统一的放在 resources目录/类加载路径
            -->
            <dataSource type="POOLED">
                <!--配置驱动-->
                <property name="driver" value="${jdbc.driver}"/>
                <!--配置连接mysql-url
                解读:
                1. jdbc:mysql 协议
                2. 127.0.0.1:3306 : 指定连接mysql的ip+port
                3. mybatis: 连接的DB
                4. useSSL=true 表示使用安全连接
                5. &amp; 表示 & 防止解析错误
                6. useUnicode=true : 使用unicode 作用是防止编码错误
                7. characterEncoding=UTF-8 指定使用utf-8, 防止中文乱码
                8.温馨提示:不要背,直接使用即可
                -->
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.user}"/>
                <property name="password" value="${jdbc.pwd}"/>
            </dataSource>
        </environment>
</environments>


mappers配置


  1. resource 注册Mapper 文件: XXXMapper.xml 文件(常用)
<mapper resource="com/nlc/mapper/MonsterMapper.xml"/>
        <!--解读
           1. 如果是通过注解的方式,可不再使用 MonsterMapper.xml
           2. 但是需要在mybatis-config.xml注册/引入含注解的类
           3. 如果没有引入,不能使用
        -->


  1. class:接口注解实现(使用过)
 <!--解读
           1. 如果是通过注解的方式,可不再使用 MonsterMapper.xml
           2. 但是需要在mybatis-config.xml注册/引入含注解的类
           3. 如果没有引入,不能使用
        -->
      <mapper class="com.nlc.mapper.MonsterAnnotation"/>


url:外部路径,使用很少,不推荐,

<mapper url="file:///D:\yy\kk\yy\MOnsterMapper.xml" />


  1. package 方式注册: 并测试
<!--
1. 当一个包下有很多的Mapper.xml 文件和基于注解实现的接口时,
为了方便,我们可以以包方式进行注册
2. 将下面的所有xml 文件和注解接口都进行注册
-->
<package name="com.nlc.mapper"/>


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
6月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `&lt;appender&gt;` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `&lt;logger&gt;` 和 `&lt;root&gt;` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
1327 1
|
1月前
|
SQL Java 数据库连接
MyBatis的配置文件中定义类型别名(type aliases)的技巧。
类型别名提供了一种便捷的方式来引用复杂的全限定类名。通过使用 `<package>`标签进行自动扫描或使用 `<typeAlias>`标签手动指定,可以在整个MyBatis配置中提高清晰度和维护性。无论是简化mapper文件中的配置,还是提高整体的配置可读性,类型别名都是一个非常有用的配置工具。
72 0
|
11月前
|
XML Java 数据格式
Spring从入门到入土(xml配置文件的基础使用方式)
本文详细介绍了Spring框架中XML配置文件的使用方法,包括读取配置文件、创建带参数的构造对象、使用工厂方法和静态方法创建对象、对象生命周期管理以及单例和多例模式的测试。
482 7
Spring从入门到入土(xml配置文件的基础使用方式)
|
6月前
|
XML Java 数据库连接
三、MyBatis核心配置文件详解
三、MyBatis核心配置文件详解
130 15
文件名: ?Ciwindows\system32 inetsrconfiglapplicationHost.config 错误:无法写入配置文件
文件名: ?Ciwindows\system32 inetsrconfiglapplicationHost.config 错误:无法写入配置文件
166 0
|
9月前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
|
XML Java 数据库连接
MyBatis入门——MyBatis XML配置文件(3)
MyBatis入门——MyBatis XML配置文件(3)
526 6
|
11月前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
172 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
11月前
|
XML Java 应用服务中间件
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
这篇文章是关于Apache Tomcat服务器的目录结构、配置文件(特别是server.xml)的详细介绍和学习指南。
471 0
tomcat学习一:tomcat 目录及配置文件学习 server.xml 等
|
存储 缓存 分布式计算
Hadoop配置文件core-site.xml
【7月更文挑战第17天】
837 2
Hadoop配置文件core-site.xml

热门文章

最新文章

  • 1
    ubuntu build install python3.12 and config pip
    823
  • 2
    IDEA添加Swagger2:Parameter 0 of method linkDiscoverers in org. springframework hateoas.config.Hateoasconfiguration required a single bean, but 15 were found:
    233
  • 3
    error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
    787
  • 4
    Spring Boot与Spring Cloud Config的集成
    412
  • 5
    若依修改标题和icon,在vue.config.js和.env.development进行修改
    925
  • 6
    若依修改,若依的com.ruoyi.framework.config在那?搜索文件使用ctrl+shift+f不用搜狗输入法,其他輸入法,用英文
    124
  • 7
    若依修改,若依部署在本地运行时的注意事项,后端连接了服务器,本地的vue.config.js要先改成localhost:端口号与后端匹配,部署的时候再改公网IP:端口号
    550
  • 8
    部署常用的流程,可以用后端,连接宝塔,将IP地址修改好,本地只要连接好了,在本地上前后端跑起来,前端能够跑起来,改好了config.js资料,后端修改好数据库和连接redis,本地上跑成功了,再改
    174
  • 9
    若依修改---重新部署项目注意事项,新文件初始化需要修改的地方,打包后的文件很难进行修改,如果想要不断修改项目,注意保存原项目,才可以不断修改,前端:在Vue.config.js文件中修改target
    591
  • 10
    若依修改之后,无法访问前端项目如何解决,只能访问后端的接口,我的接口8083,端不显示咋解决?在vue.config.js文件中的映射路径要跟后端匹配,到软件商店里找到Ngnix配置代理,设80不用加
    1415