Mybatis——Confiuration

Confiuration就是mybatis的配置文件,其結果如下:

properties(屬性)

settings(全局配置參數)

typeAliases(類型別名)

typeHandlers(類型處理器)

objectFactory(對象工廠)

plugins(插件)

environments(環境集合屬性對象)

    environment(環境子屬性對象)

         transactionManager(事務管理)

         dataSource(數據源)

mappers(映射器)

在寫Confiuration文件時,很重要的一點就是配置順序要按照上面的結構,不能調換順序!


一、properties

就像普通的外部數據庫信息的使用db.properties

jdbc.url=XXX
jdbc.username=xxx

文件中的引用:

<properties resource="db.properties"/>

需要注意的是parameterType傳遞的屬性具有最高優先級,resource url 加載的屬性次之,最低優先級的是 properties 元素體內定義的屬性。


二、settings

mybatis的全局信息配置,網上有很多翻譯過來的圖


    <settings>   
    <setting name="cacheEnabled" value="true"/>   
    <setting name="lazyLoadingEnabled" value="true"/>   
    </settings>  

三、typeAliases

在xml文件中parameterType和resultType輸入自己定義的POJO類型時需要輸入的是全類名

<select id="findUserByUsername" parameterType="java.lang.String"  resultType="com.ydalien.po.User">

當定義了別名後可以使用別名,如:

單個別名的定義

<typeAliases>
	<typeAlias alias="User" type="com.ydalien.po.User"/>
</typeAliases>

批量定義別名(別名爲類名,首字母大小寫皆可)

<typeAliases>
	<package name="com.ydalien.po"/>
</typeAliases>

定義後我們就可以改成

<select id="findUserByUsername" parameterType="java.lang.String"  resultType="User">

mybatis默認會支持的別名(無需自定義)

別名

映射的類型

_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

 

四、typeHandlers

用來處理java類型和jdbc的類型。

mybatis默認支持類型處理器:

 

類型處理器

Java類型

JDBC類型

BooleanTypeHandler

Booleanboolean

任何兼容的布爾值

ByteTypeHandler

Bytebyte

任何兼容的數字或字節類型

ShortTypeHandler

Shortshort

任何兼容的數字或短整型

IntegerTypeHandler

Integerint

任何兼容的數字和整型

LongTypeHandler

Longlong

任何兼容的數字或長整型

FloatTypeHandler

Floatfloat

任何兼容的數字或單精度浮點型

DoubleTypeHandler

Doubledouble

任何兼容的數字或雙精度浮點型

BigDecimalTypeHandler

BigDecimal

任何兼容的數字或十進制小數類型

StringTypeHandler

String

CHARVARCHAR類型

ClobTypeHandler

String

CLOBLONGVARCHAR類型

NStringTypeHandler

String

NVARCHARNCHAR類型

NClobTypeHandler

String

NCLOB類型

ByteArrayTypeHandler

byte[]

任何兼容的字節流類型

BlobTypeHandler

byte[]

BLOBLONGVARBINARY類型

DateTypeHandler

Datejava.util

TIMESTAMP類型

DateOnlyTypeHandler

Datejava.util

DATE類型

TimeOnlyTypeHandler

Datejava.util

TIME類型

SqlTimestampTypeHandler

Timestampjava.sql

TIMESTAMP類型

SqlDateTypeHandler

Datejava.sql

DATE類型

SqlTimeTypeHandler

Timejava.sql

TIME類型

ObjectTypeHandler

任意

其他或未指定類型

EnumTypeHandler

Enumeration類型

VARCHAR-任何兼容的字符串類型,作爲代碼存儲(而不是索引)。


當然還能自己定義(略)


五、objectFactory(略)

六、plugins(略)

七、environments

environments裏可以配置多個environment,每個environment對應一個數據庫環境。

<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

Mappers用於告訴Mybatis去哪裏尋找映射文件。

	<!-- 加載映射文件 -->
	<mappers>
		<package name="com.ydalien.mapper"/>
	</mappers>



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