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>