文章目錄
-
-
-
- 1、核心配置檔案
- 2、環境配置(environments)
- 3、屬性(properties)
- 4、類型别名(typeAliases)
- 5、設定(setting)
- 6、其他配置
- 7、映射器(mappers)
-
-
詳細配置可 點選此處檢視官網文檔
1、核心配置檔案
- mybatis-config.xml
- MyBatis 的配置檔案包含了會深深影響 MyBatis 行為的設定和屬性資訊。 配置文檔的頂層結構如下:
- configuration(配置)
- properties(屬性)
- settings(設定)
- typeAliases(類型别名)
- typeHandlers(類型處理器)
- objectFactory(對象工廠)
- plugins(插件)
- environments(環境配置)
- environment(環境變量)
- transactionManager(事務管理器 type="[JDBC|MANAGED]")
- dataSource(資料源 type="[UNPOOLED|POOLED|JNDI]")
- environment(環境變量)
- databaseIdProvider(資料庫廠商辨別)
- mappers(映射器)
- configuration(配置)
2、環境配置(environments)
-
MyBatis 可以配置成适應多種環境
不過要記住:盡管可以配置多個環境,但每個SqlSessionFactory執行個體隻能選擇一種環境。
- Mybatis預設的transactionManager(事務管理器)就是JDBC
- Mybatis預設的dataSource(資料源)是POOLED(連接配接池)
3、屬性(properties)
- 可以通過properties屬性來實作引用配置檔案
- 這些屬性都是可外部配置且可動态替換的,既可以在典型的Java屬性檔案中配置,亦可通過properties元素的子元素來傳遞。【db.properties】
- 編寫一個配置檔案【db.properties】
driver = com.mysql.jdbc.Driver url = jdbc:mysql://localhost:3306/mybatisnote?useSSL=false&useUnicode=true&characterEncoding=UTF-8 username = root password = 123456
- 核心配置檔案
<?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核心配置檔案--> <configuration> <!--直接引入外部配置檔案--> <properties resource="db.properties" /> <environments default="test"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> </configuration>
- 可在properties中增加一些屬性配置
<properties resource="db.properties"> <property name="username" value="root"/> <property name="password" value="123456"/> </properties>
- 如果兩個檔案有同一個字段,優先使用外部配置檔案的,原因如下
如果一個屬性在不隻一個地方進行了配置,那麼,MyBatis 将按照下面的順序來加載: 首先讀取在 properties 元素體内指定的屬性。然後根據 properties 元素中的 resource 屬性讀取類路徑下屬性檔案,或根據 url 屬性指定的路徑讀取屬性檔案,并覆寫之前讀取過的同名屬性。
4、類型别名(typeAliases)
- 類型别名是為Java類型設定一個短的名字。
- 存在的意義僅在于用來減少類完全限定名的備援。
<!--第一種:可以給實體類起别名--> <typeAliases> <typeAlias type="com.ping.pojo.User" alias="User"/> </typeAliases>
- 也可以指定一個包名,MyBatis 會在包名下面搜尋需要的Java Bean
- 掃描實體類的包,它的預設别名就為這個類的類名(首字母小寫)
<!--第二種--> <typeAliases> <package name="com.ping.pojo"/> </typeAliases>
- 在實體類比較少的時候,使用第一種方式;如果實體類十分多,建議使用第二種
- 第一種可以自定義别名,第二種不行
- 如果非要改别名,可以在在實體上增加注解
```java
import org.apache.ibatis.type.Alias;
//第三種
@Alias("user")
public class User {}
5、設定(setting)
- 這是 MyBatis中極為重要的調整設定,它們會改變MyBatis的運作時的行為。
設定名 | 描述 | 有效值 | 預設值 |
---|---|---|---|
cacheEnabled | 全局性地開啟或關閉所有映射器配置檔案中已配置的任何緩存。 | true|false | true |
lazyLoadingEnabled | 延遲加載的全局開關。當開啟時,所有關聯對象都會延遲加載。 特定關聯關系中可通過設定 屬性來覆寫該項的開關狀态。 | true|false | true |
logImpl | 指定 MyBatis 所用日志的具體實作,未指定時将自動查找。 | SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING | 未設定 |
6、其他配置
- typeHandlers(類型處理器)
- objectFactory(對象工廠)
- plugins(插件)
- mybatis-generator-core
- mybatis-plus
- 通用mapper
7、映射器(mappers)
- MapperRegistry:注冊綁定Mapper檔案;
- 方式一:【推薦使用】
<!--每一種Mapper.xml都需要在mybatis核心配置檔案中注冊--> <mappers> <mapper resource="com/ping/dao/userMapper.xml"/> </mappers>
- 方式二:使用class檔案綁定注冊
<!--注意點: 接口和Mapper配置檔案必須同名 接口和Mapper配置檔案必須在同一個包下 --> <mappers> <mapper class="com.ping.dao.UserMapper" /> </mappers>
- 方式三:使用包掃描進行注冊綁定
<!--注意點同方式二--> <mappers> <package name="com.ping.dao"/> </mappers>