MyBatis配置文件中的屬性標籤

MyBatis配置文件中的屬性標籤

(1)使用properties配置數據庫連接信息

可以在標籤內部配置數據庫連接信息,也可以通過外部文件來配置數據庫連接信息。

第一種url屬性(不常用)

URL屬性:
  URL:Uniform Resource Locator 統一資源定位符 可以唯一標誌一個資源的位置
  寫法必須是
    http://localhost:8080/mybatisserver/demo1Servlet
    協議  主機  端口 URI
  URI:Uniform Resource Identifier 統一資源標識符 是在應用中可以可以唯一標誌一個資源的位置
  URL>URI(精準性)

<properties url="file:///C:/Users/zoick/OneDrive/Tomorrow/%E6%A1%86%E6%9E%B6%E5%AD%A6%E4%B9%A0/MyBatis/day02/day02_eesy_02mybatisCRUD/src/main/resources/jdbcConfig.properties">

</properties>

第二種resource屬性(常用)
用於指定配置文件的位置,是按照類路徑來寫的,必須存在於類路徑下

<properties resource="jdbcConfig.properties">

</properties>

使用 resources 屬性引入外部配置文件
編寫配置文件 jdbcConfig.properties。配置文件名沒有限制,但是配置文件一定要放在類路徑resource下

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_mybatis
jdbc.username=root
jdbc.password=123456
  • 修改 Mybatis 配置文
<!-- 引入外部文件  -->
    <properties resource="jdbcConfig.properties"/>
    <!--配置環境-->
<environments default="development">
    <environment id="development">
        <!-- 配置事務類型 -->
        <transactionManager type="JDBC"/>
        <!-- 配置數據源(連接池) -->
        <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>

(2)使用typeAliases配置別名

之前在編寫映射文件的時候, resultType 這個屬性可以寫 int、INT 等,就是因爲 Mybatis 給這些類型起了別名。Mybatis 內置的別名如表格所示:如果我們也想給某個實體類指定別名的時候,就可以採用 typeAliases 標籤。用法如下:

<!--使用typeAliases配置別名,他只能配置domain中類的別名-->
    <typeAliases>
        <!--typeAlias用於配置別名,type屬性指定的是實體類中的全限定類名。alias屬性指定別名,當指定了別名後不在區分大小寫-->
        <typeAlias type="top.zoick.domain.User" alias="user"></typeAlias>
    </typeAliases>

typeAlias 子標籤用於配置別名。其中 type 屬性用於指定要配置的類的全限定類名(該類只能是某個domain實體類), alias 屬性指定別名。一旦指定了別名,那麼別名就不再區分大小寫。也就是說,此時我們可以在映射文件中這樣寫 resultType=“user” ,也可以寫 resultType=“USER”。

(3)使用package配置別名

  • 當我們有多個實體類需要起別名的時候,那麼我們就可以使用 package 標籤。
 <typeAliases>
        <!--用於指定要配置別名的包,當指定後,該包下的實體類都會註冊別名,並且類名就是別名,不再區分大小寫-->
        <package name="top.zoick.domain"/>
    </typeAliases>

package 標籤指定要配置別名的包,當指定之後,該包下的所有實體類都會註冊別名,並且別名就是類名,不再區分大小寫

其中,配置映射文件位置的中也有package這個標籤

   <mappers>
<!--        <mapper resource="top/zoick/dao/IUserDao.xml"/>-->
        <!--package標籤是用於指定dao接口所在的包,當指定了之後就不需要再寫mapepr以及resource或者class了-->
        <package name="top.zoick.dao"/>
    </mappers>

這樣配置後,我們就無需一個一個地配置 Mapper 接口了。不過,這種配置方式的前提是映射配置文件位置必須和dao接口的包結構相同

添加完屬性標籤後的配置文件:

SqlMapConfig.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">
<!-- mybatis主配置文件-->
<configuration>
    <!--配置properties
        可以在標籤內部配置數據庫連接信息 也可以通過外部文件來配置數據庫連接信息
        resource 屬性:(常用)
                用於指定配置文件的位置,是按照類路徑來寫的,必須存在於類路徑下
        URL屬性:
            URL:Uniform Resource Locator    統一資源定位符 可以唯一標誌一個資源的位置
            寫法必須是
                http://localhost:8080/mybatisserver/demo1Servlet
                協議      主機    端口     URI
            URI:Uniform Resource Identifier 統一資源標識符 是在應用中可以可以唯一標誌一個資源的位置
            URL>URI(精準性)
    -->
    <properties url="file:///C:/Users/zoick/OneDrive/Tomorrow/%E6%A1%86%E6%9E%B6%E5%AD%A6%E4%B9%A0/MyBatis/day02/day02_eesy_02mybatisCRUD/src/main/resources/jdbcConfig.properties">
<!--        <property name="driver" value="com.mysql.cj.jdbc.Driver"/>-->
<!--        <property name="url" value="jdbc:mysql://localhost:3306/eesy_mybatis"/>-->
<!--        <property name="username" value="root"/>-->
<!--        <property name="password" value="root"/>-->
    </properties>
    
    <!--使用typeAliases配置別名,他只能配置domain中類的別名-->
    <typeAliases>
        <!--typeAlias用於配置別名,type屬性指定的是實體類中的全限定類名。alias屬性指定別名,當指定了別名後不在區分大小寫-->
<!--    <typeAlias type="top.zoick.domain.User" alias="user"></typeAlias>-->

        <!--用於指定要配置別名的包,當指定後,該包下的實體類都會註冊別名,並且類名就是別名,不再區分大小寫-->
        <package name="top.zoick.domain"/>
    </typeAliases>
    
    

    <!-- 配置環境-->
    <environments default="mysql">
        <!-- 配置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>

    <!-- 指定映射配置文件的位置,映射配置文件指的是每個dao獨立的配置文件-->
    <mappers>
<!--        <mapper resource="top/zoick/dao/IUserDao.xml"/>-->
        <!--package標籤是用於指定dao接口所在的包,當指定了之後就不需要再寫mapepr以及resource或者class了-->
        <package name="top.zoick.dao"/>
    </mappers>


</configuration>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章