mybatis之配置優化
阿新 • • 發佈:2021-09-01
屬性優化
properties
- 外部配置檔案【db.properties】
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC
username=root
password=admin#1234
- 引入外部配置檔案
<!-- 引入外部配置檔案,也可以加入一些屬性,當兩者衝突時,以外部檔案為準--> <properties resource="db.properties"> <property name="username" value="root"/> <property name="password" value="123456"/> </properties>
environments
<!--可以配置多個環境變數,但是同時只能選擇一個環境 <environments default="test">--> <environments default="test"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=UTF8&serverTimezone=UTC"/> <property name="username" value="root"/> <property name="password" value="admin#1234"/> </dataSource> </environment> <environment id="test"> <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>
settings
<settings> <!-- 是否開啟快取--> <setting name="cacheEnabled" value="true"/> <!-- 是否開啟懶載入--> <setting name="lazyLoadingEnabled" value="true"/> <!--允許 JDBC 支援自動生成主鍵,需要資料庫驅動支援。如果設定為 true,將強制使用自動生成主鍵。儘管一些資料庫驅動不支援此特性,但仍可正常工作(如 Derby)--> <setting name="useGeneratedKeys" value="false"/> <!--是否開啟駝峰命名自動對映,即從經典資料庫列名 A_COLUMN 對映到經典 Java 屬性名 aColumn。--> <setting name="mapUnderscoreToCamelCase" value="false"/> <!-- 指定 MyBatis 所用日誌的具體實現,未指定時將自動查詢。 SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING--> <!-- <setting name="logImpl" value="LOG4J "/>--> </settings>
別名優化
<!-- 給實體類加別名-->
<typeAlias type="com.yeyue.pojo.User" alias="User"></typeAlias>
<!-- <package name="com.yeyue.pojo"/> 指定一個包名,會在包下掃描實體類,預設以類名的首字母小寫作為別名,不可以自定義別名,但可以藉助註解來實現
@Alias("RealUser")
public class User {}
-->
<typeAliases>
<package name="com.yeyue.pojo"/>
</typeAliases>
對映器
- UserMapper.xml直接在核心配置檔案中註冊
<mapper resource="com\yeyue\dao\UserMapper.xml"/>
-
通過介面類來對映
- 類和mapper配置檔案需要同名
- 類和mapper配置檔案必須在同一包下
<mapper class="com.yeyue.dao.UserMapper"/>
- 通過包來對映
- 類和mapper配置檔案需要同名
- 類和mapper配置檔案必須在同一包下
<package name="com.yeyue.dao"/>