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

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

说明

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

文档地址:

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

配置文件属性解析

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
  1. 修改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 就不用再配置) 并完成测试

settings 全局参数定义

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

应用实例
 <!--配置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 类型处理器

  1. 用于java 类型和jdbc 类型映射
  2. Mybatis 的映射基本已经满足,不太需要重新定义
  3. 这个我们使用默认即可,也就是mybatis 会自动的将java 和jdbc 类型进行转换.
  4. java 类型和jdbc 类型映射关系一览[ 手册]
    https://mybatis.org/mybatis-3/zh/configuration.html#typeHandlers

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"/>
  1. url:外部路径,使用很少,不推荐,

    <mapper url="file:///D:\yy\kk\yy\MOnsterMapper.xml" />
    
  2. package 方式注册: 并测试

<!--
1. 当一个包下有很多的Mapper.xml 文件和基于注解实现的接口时,
为了方便,我们可以以包方式进行注册
2. 将下面的所有xml 文件和注解接口都进行注册
-->
<package name="com.nlc.mapper"/>
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
mybatis-config.xmlMyBatis的核心配置文件,用于配置MyBatis的全局信息和运行时行为。该文件包含了数据库连接信息和MyBatis所需的各种特性设置和属性。在实际开发中,我们通常会将数据库连接参数单独配置在db.properties文件中,然后在mybatis-config.xml中加载db.properties的属性值,这样就不需要在mybatis-config.xml中硬编码数据库连接参数。\[1\] mybatis-config.xml的结构包括: 1. configuration:MyBatis的配置信息 2. properties:可以配置在Java属性配置文件中的属性 3. settings:修改MyBatis在运行时的行为方式的设置 4. typeAliases:为Java类型命名一个别名(简称) 5. typeHandlers:类型处理器 6. objectFactory:对象工厂 7. plugins:插件 8. environments:环境配置 9. environment:环境变量 10. transactionManager:事务管理器 11. dataSource:数据源 12. mappers:映射器配置 在mybatis-config.xml中,可以使用<typeAliases>标签来定义别名。可以通过单个别名定义或批量别名定义来为Java类型命名别名。批量别名定义可以扫描指定包下的类,将类名作为别名(首字母大写或小写都可以)。\[3\] 总之,mybatis-config.xmlMyBatis的核心配置文件,用于配置全局信息和运行时行为,包含了数据库连接信息和各种特性设置和属性。可以通过配置文件来加载数据库连接参数,避免在配置文件中硬编码。同时,还可以使用<typeAliases>标签来定义Java类型的别名。 #### 引用[.reference_title] - *1* *3* [mybatis-config.xml文件的详情](https://blog.csdn.net/qq_60261230/article/details/126524763)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Mybatis-config.xml配置文件基础配置详解](https://blog.csdn.net/qq_43795348/article/details/109553684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晨犀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值