Mybatis(3) 配置文件

SqlMapConfig.xml配置文件

  1. 配置內容

SqlMapConfig.xml中配置的內容和順序如下:

properties(屬性)

settings(全局配置參數)

typeAliases(類型別名)

typeHandlers(類型處理器)

objectFactory(對象工廠)

plugins(插件)

environments(環境集合屬性對象)

     environment(環境子屬性對象)

            transactionManager(事務管理)

            dataSource(數據源)

mappers(映射器)

 

1.1properties(屬性)

SqlMapConfig.xml可以引用java屬性文件中的配置信息如下:

在config下定義db.properties文件,如下所示:

 

db.properties配置文件內容如下:

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8

jdbc.username=root

jdbc.password=root

1.2 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">
<configuration>
	<!-- 是用resource屬性加載外部配置文件 -->
	<properties resource="db.properties">
		<!-- 在properties內部用property定義屬性 -->
		<!-- 如果外部配置文件有該屬性,則內部定義屬性被外部屬性覆蓋 -->
		<property name="jdbc.username" value="root123" />
		<property name="jdbc.password" value="root123" />
	</properties>

	<!-- 和spring整合後 environments配置將廢除 -->
	<environments default="development">
		<environment id="development">
			<!-- 使用jdbc事務管理 -->
			<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>

	<!-- 加載映射文件 -->
	<mappers>
		<mapper resource="sqlmap/User.xml" />
		<mapper resource="mapper/UserMapper.xml" />
	</mappers>
<configuration>

 

注意: MyBatis 將按照下面的順序來加載屬性:

  1. 在 properties 元素體內定義的屬性首先被讀取。
  2. 然後會讀取properties 元素中resource或 url 加載的屬性,它會覆蓋已讀取的同名屬性。

 

2.typeAliases(類型別名)

2.1mybatis支持別名:

別名

映射的類型

_byte

byte

_long

long

_short

short

_int

int

_integer

int

_double

double

_float

float

_boolean

boolean

string

String

byte

Byte

long

Long

short

Short

int

Integer

integer

Integer

double

Double

float

Float

boolean

Boolean

date

Date

decimal

BigDecimal

bigdecimal

BigDecimal

map

Map

 

2.2自定義別名:

在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">
<configuration>
	<!-- 是用resource屬性加載外部配置文件 -->
	<properties resource="db.properties">
		<!-- 在properties內部用property定義屬性 -->
		<property name="jdbc.username" value="root123" />
		<property name="jdbc.password" value="root123" />
	</properties>

	<typeAliases>
		<!-- 單個別名定義 -->
		<typeAlias alias="user" type="cn.itcast.mybatis.pojo.User" />
		<!-- 批量別名定義,掃描整個包下的類,別名爲類名(大小寫不敏感) -->
		<package name="cn.itcast.mybatis.pojo" />
		<package name="其它包" />
	</typeAliases>

	<!-- 和spring整合後 environments配置將廢除 -->
	<environments default="development">
		<environment id="development">
			<!-- 使用jdbc事務管理 -->
			<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>

	<!-- 加載映射文件 -->
	<mappers>
		<mapper resource="sqlmap/User.xml" />
		<mapper resource="mapper/UserMapper.xml" />
	</mappers>
</configuration>

在mapper.xml配置文件中,就可以使用設置的別名了

別名大小寫不敏感

 

3.mappers(映射器)

Mapper配置的幾種方法:

3.1<mapper resource=" " />

使用相對於類路徑的資源(現在的使用方式)

如:<mapper resource="sqlmap/User.xml" />

3.2<mapper class=" " />

使用mapper接口類路徑

如:<mapper class="cn.itcast.mybatis.mapper.UserMapper"/>

注意:此種方法要求mapper接口名稱和mapper映射文件名稱相同,且放在同一個目錄中

3.3<package name=""/>

註冊指定包下的所有mapper接口

如:<package name="cn.itcast.mybatis.mapper"/>

注意:此種方法要求mapper接口名稱和mapper映射文件名稱相同,且放在同一個目錄中

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章