- <?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">
- <!-- 注意:每個標簽必須按順序寫,不然蛋疼的DTD會提示錯誤:The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,plugins?,environments?,mappers?)". -->
- <configuration>
- <!-- 屬性配置 -->
- <properties resource="com/mybatisdemo/config/mysql-jdbc-connection.properties">
- <!-- 相同屬性:最高優先級的屬性是那些作為方法參數的,然后是資源/url 屬性,最后是 properties元素中指定的屬性 -->
- <property name="username" value="root"/>
- <property name="password" value="sa"/>
- </properties>
- <!-- 設置緩存和延遲加載等等重要的運行時的行為方式 -->
- <settings>
- <!-- 設置超時時間,它決定驅動等待一個數據庫響應的時間 -->
- <setting name="defaultStatementTimeout" value="25000"/>
- </settings>
- <!-- 別名 -->
- <typeAliases>
- <typeAlias alias="UserInfo" type="com.mybatisdemo.entity.UserInfo"/>
- </typeAliases>
- <environments default="development">
- <!-- environment 元素體中包含對事務管理和連接池的環境配置 -->
- <environment id="development">
- <transactionManager type="JDBC" />
- <!-- type分三種:
- UNPOOLED是每次被請求時簡單打開和關閉連接
- UNPOOLED的數據源僅僅用來配置以下 4 種屬性driver,url,username,password
- POOLED :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>
- <!-- ORM映射文件 -->
- <mappers>
- <mapper resource="com/mybatisdemo/entity/config/UserInfoSqlMap.xml" />
- </mappers>
- </configuration>
注意:
①xml中的標簽順序不能隨便調換,否則會提示錯誤
②MyBatis使用自帶的數據庫連接池,不直接支持第三方連接池,不過網上有創建第三方連接池的方法
③以前別名(<typeAliases>)可以在sqlMap標簽中創建,但現在需要在configuration標簽中創建
④該配置文件可隨意取名,在讀取配置文件時指定該XML文件路徑即可:
- //讀取核心配置文件
- Reader reader = Resources.getResourceAsReader("com/mybatisdemo/config/Configuration.xml");
- //創建SessionFactory實例
- SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);