天天看點

mybatis學習筆記4:主配置檔案開發(properties,typeAliases)一、properties的使用二、typeAliases配置實體類中的别名(指定實體類)三、mappers映射器的配置(指定DAO接口)

本文學習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>


           
mybatis學習筆記4:主配置檔案開發(properties,typeAliases)一、properties的使用二、typeAliases配置實體類中的别名(指定實體類)三、mappers映射器的配置(指定DAO接口)

3.properties的第二種使用方式:外部檔案定義配置資訊

這裡又有兩種方式來擷取外部檔案

3.1使用resource屬性

  • 要求配置檔案必須放在

    resource

    的根目錄下
    mybatis學習筆記4:主配置檔案開發(properties,typeAliases)一、properties的使用二、typeAliases配置實體類中的别名(指定實體類)三、mappers映射器的配置(指定DAO接口)
  • 配置檔案的内容為資料庫連接配接資訊
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是什麼?
    mybatis學習筆記4:主配置檔案開發(properties,typeAliases)一、properties的使用二、typeAliases配置實體類中的别名(指定實體類)三、mappers映射器的配置(指定DAO接口)
  • file協定
    • 注意這裡要從本機上,引用我們的配置檔案使用的協定就不是

      http

      協定,win中檔案位置采用的是

      file協定

      ,把配置檔案拖動到浏覽器中,會發現
      mybatis學習筆記4:主配置檔案開發(properties,typeAliases)一、properties的使用二、typeAliases配置實體類中的别名(指定實體類)三、mappers映射器的配置(指定DAO接口)
  • url的使用:
<properties url="file:///D:/Users/xiaopangtou/OneDrive/project_web_idea/mybatis/day02_eesy_01mybatisCRUD/src/main/resources/jdbcConfig.properties">

    </properties>
           
  • 其餘配置不變即可

二、typeAliases配置實體類中的别名(指定實體類)

1.不使用别名的情況

在映射配置檔案中,當需要指定實體類時,

resultType

parameterType

都需要使用

全限定名

(包名+類名)
mybatis學習筆記4:主配置檔案開發(properties,typeAliases)一、properties的使用二、typeAliases配置實體類中的别名(指定實體類)三、mappers映射器的配置(指定DAO接口)

2方式一:單個定義别名(全限定名)

  • SqlMapConfig.xml

    中配置:
<typeAliases>
        <typeAlias type="com.xpt.domain.User" alias="user"/>
    </typeAliases>
           
  • 當指定别名後,就不再區分大小寫了

  • 然後就可以在映射配置檔案中使用該别名了
    mybatis學習筆記4:主配置檔案開發(properties,typeAliases)一、properties的使用二、typeAliases配置實體類中的别名(指定實體類)三、mappers映射器的配置(指定DAO接口)

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>