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>