本文学习mybatis配置文件中的相关配置


文章目录

  • 一、properties的使用
  • 1.原始配置文件的写法
  • 2.properties的第一种使用方式:内部定义
  • 3.properties的第二种使用方式:外部文件定义配置信息
  • 3.1使用resource属性
  • 3.2使用url属性:
  • 二、typeAliases配置实体类中的别名(指定实体类)
  • 1.不使用别名的情况
  • 2方式一:单个定义别名(全限定名)
  • 3方式二:批量定义别名,扫描整个包下的类,别名为类名(同样忽略大小写)
  • 三、mappers映射器的配置(指定DAO接口)


一、properties的使用

1.原始配置文件的写法

从学习mybatis到现在,对于配置文件的写法,一直采用下面的方式

<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <!--配置环境 default 和 id保持一致-->
    <environments default="mysql">
        <environment id="mysql">
            <!--配置事务类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据源信息-->
            <dataSource type="POOLED">
                <!--连接数据库的四个基本信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <!--后面的编码是防止中文乱码-->
                <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis?characterEncoding=utf-8"/>
                <property name="username" value="root"/>
                <property name="password" value="admin"/>
            </dataSource>
        </environment>
    </environments>

    <!--映射文件的位置-->
    <mappers>
        <mapper resource="com/xpt/dao/IUserDao.xml"></mapper>
    </mappers>
    
</configuration>

2.properties的第一种使用方式:内部定义

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

    <properties>
        <!--连接数据库的四个基本信息-->
        <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/>
        <!--后面的编码是防止中文乱码-->
        <property name="jdbc.url" value="jdbc:mysql://localhost:3306/eesy_mybatis?characterEncoding=utf-8"/>
        <property name="jdbc.username" value="root"/>
        <property name="jdbc.password" value="admin"/>
    </properties>

    <!--配置环境 default 和 id保持一致-->
    <environments default="mysql">
        <environment id="mysql">
            <!--配置事务类型-->
            <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>
    </environments>

    <!--映射文件的位置-->
    <mappers>
        <mapper resource="com/xpt/dao/IUserDao.xml"></mapper>
    </mappers>

</configuration>

springboot mybatis 表名小写_配置文件

3.properties的第二种使用方式:外部文件定义配置信息

这里又有两种方式来获取外部文件

3.1使用resource属性

  • 要求配置文件必须放在resource的根目录下
  • 配置文件的内容为数据库连接信息
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/eesy_mybatis
jdbc.username=root
jdbc.password=admin
  • 按如下使用:
<properties resource="jdbcConfig.properties">

    </properties>
  • 下面datasource的配置写法不变
<!--配置数据源信息-->
            <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>

3.2使用url属性:

  • url是什么?
  • file协议
  • 注意这里要从本机上,引用我们的配置文件使用的协议就不是http协议,win中文件位置采用的是file协议,把配置文件拖动到浏览器中,会发现
  • url的使用:
<properties url="file:///D:/Users/xiaopangtou/OneDrive/project_web_idea/mybatis/day02_eesy_01mybatisCRUD/src/main/resources/jdbcConfig.properties">

    </properties>
  • 其余配置不变即可

二、typeAliases配置实体类中的别名(指定实体类)

1.不使用别名的情况

在映射配置文件中,当需要指定实体类时,resultTypeparameterType都需要使用全限定名(包名+类名)

springboot mybatis 表名小写_配置文件_02

2方式一:单个定义别名(全限定名)

  • SqlMapConfig.xml中配置:
<typeAliases>
        <typeAlias type="com.xpt.domain.User" alias="user"/>
    </typeAliases>
  • 当指定别名后,就不再区分大小写了
  • 然后就可以在映射配置文件中使用该别名了

3方式二:批量定义别名,扫描整个包下的类,别名为类名(同样忽略大小写)

<typeAliases>
        <!--typeAlias用于配置别名。type属性指定的是实体类全限定类名。alias属性指定别名,当指定了别名就再区分大小写
       <typeAlias type="com.itheima.domain.User" alias="user"></typeAlias>-->

        <!-- 用于指定要配置别名的包,当指定之后,该包下的实体类都会注册别名,并且类名就是别名,不再区分大小写-->
        <package name="com.xpt.domain"/>
    </typeAliases>

三、mappers映射器的配置(指定DAO接口)

<mappers>
        <!-- package标签是用于指定dao接口所在的包,当指定了之后就不需要在写mapper以及resource或者class了 -->
        <!--<mapper resource="com/xpt/dao/IUserDao.xml"></mapper>-->
        <package name="com.xpt.dao"/>
    </mappers>