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

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協定
- 注意這裡要從本機上,引用我們的配置檔案使用的協定就不是
協定,win中檔案位置采用的是http
,把配置檔案拖動到浏覽器中,會發現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
(包名+類名)
全限定名
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>