MyBatis 將按照下面的順序來加載屬性:在 properties 元素體內定義的屬性首先被讀取;而後會讀取properties 元素中resource或 url 加載的屬性,它會覆蓋已讀取的同名屬性;最後讀取parameterType傳遞的屬性,它會覆蓋已讀取的同名屬性。建議不要在properties元素體內添加任何屬性值,只將屬性值定義在properties文件中,並且在properties文件中定義屬性名要有必定的特殊性,如:XXXXX.XXXXX.XXXXjava
其應用以下:將數據庫鏈接參數單獨配置在db.properties中,只須要在SqlMapConfig.xml中加載db.properties的屬性值。sql
在SqlMapConfig.xml中就不須要對數據庫鏈接參數硬編碼。將數據庫鏈接參數只配置在db.properties中,緣由是方便對參數進行統一管理,其它xml能夠引用該db.properties。數據庫
在sqlMapConfig.xml加載屬性文件:緩存
子標籤<property name="" value=""/>:定義添加屬性值mybatis
參數配置子標籤爲<setting name="" value=""/>,name的值和value的值以下:app
示例使用框架
<?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> <property name="" value=""/> <settings> <!--開啓延遲加載--> <setting name="lazyLoadingEnabled" value="true"/> <setting name="aggressiveLazyLoading" value="false"/> </settings> </configuration>
別名編碼 |
映射的類型url |
_byte spa |
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 |
<typeAliases> <!-- 針對單個類的別名配置:type寫類的全限定路徑,alias寫別名--> <typeAlias type="" alias=""/> <!-- 批量別名配置:name寫包的全限定路徑,mybatis會自動生成別名,別名爲包下每一個類的類名--> <package name=""/> </typeAliases>
類型處理器 |
Java類型 |
JDBC類型 |
BooleanTypeHandler |
Boolean,boolean |
任何兼容的布爾值 |
ByteTypeHandler |
Byte,byte |
任何兼容的數字或字節類型 |
ShortTypeHandler |
Short,short |
任何兼容的數字或短整型 |
IntegerTypeHandler |
Integer,int |
任何兼容的數字和整型 |
LongTypeHandler |
Long,long |
任何兼容的數字或長整型 |
FloatTypeHandler |
Float,float |
任何兼容的數字或單精度浮點型 |
DoubleTypeHandler |
Double,double |
任何兼容的數字或雙精度浮點型 |
BigDecimalTypeHandler |
BigDecimal |
任何兼容的數字或十進制小數類型 |
StringTypeHandler |
String |
CHAR和VARCHAR類型 |
ClobTypeHandler |
String |
CLOB和LONGVARCHAR類型 |
NStringTypeHandler |
String |
NVARCHAR和NCHAR類型 |
NClobTypeHandler |
String |
NCLOB類型 |
ByteArrayTypeHandler |
byte[] |
任何兼容的字節流類型 |
BlobTypeHandler |
byte[] |
BLOB和LONGVARBINARY類型 |
DateTypeHandler |
Date(java.util) |
TIMESTAMP類型 |
DateOnlyTypeHandler |
Date(java.util) |
DATE類型 |
TimeOnlyTypeHandler |
Date(java.util) |
TIME類型 |
SqlTimestampTypeHandler |
Timestamp(java.sql) |
TIMESTAMP類型 |
SqlDateTypeHandler |
Date(java.sql) |
DATE類型 |
SqlTimeTypeHandler |
Time(java.sql) |
TIME類型 |
ObjectTypeHandler |
任意 |
其餘或未指定類型 |
EnumTypeHandler |
Enumeration類型 |
VARCHAR-任何兼容的字符串類型,做爲代碼存儲(而不是索引)。 |
<mappers> <mapper resource="mapper/UserMapper.xml"/> </mappers>
<mappers> <mapper class="dao.UserMapper"/> </mappers>
<mappers> <!--替換 <mapper resource="mapper.Usermapper"/> <mapper resource="mapper.NoteBookMapper"/> --> <package name="mapper"/> </mappers>