zhangsanfeng88 发表于 2016-11-26 08:58:45

Mybatis sqlMapConfig.xml中的常用配置

  sqlMapConfig.xml是mybatis的核心配置文件,可配置标签有

properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)

  properties
  主要是用来抽取jdbc参数的,加载peroperties配置文件,比如把jdbc连接参数放到db.properties中,然后在sqlMapConfig.xml中加载,使用${}获取

<properties resource="db.properties"></properties>
  settings
  mybatis在运行时可以调整一些运行时参数,比如二级缓存,延迟加载
  typeAliases
  针对parameterType、resultType指定的的映射类型制定别名,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

  自定义单个别名,这种方式一次只能定义一个别名,如果需要定义多个类的别名就需要重复<typeAlias>

<typeAliases>
<!-- 单个别名定义 -->
<typeAlias type="entity.User" alias="user" />
</typeAliases>
  通过包扫描批量定义别名

<typeAliases>
<!-- 批量别名定义,扫描的包,别名就是类名,首字母可大/小写 -->
<package name="entity" />
</typeAliases>
  typeHandlers
  mybatis中通过typeHandlers完成jdbc类型和java类型的转换,默认支持的已经够用了

类型处理器         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
  加载映射文件,加载单个映射文件

<mappers>
<mapper resource="entity/UserMapper.xml" />
</mappers>
  通过mapper接口加载单个配置文件

<mappers>
<!-- 约定,必须是mapper代理的方式,mapper接口类名和mapper.xml名称一致,且在同一目录中 -->
<mapper class="dao.IUserMapper"/>
</mappers>
  通过包扫描加载mapper配置文件

<mappers>
<!-- 批量加载mapper指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载
遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中
上边规范的前提是:使用的是mapper代理方法 -->
<!-- <package name="dao"/> -->
</mappers>
页: [1]
查看完整版本: Mybatis sqlMapConfig.xml中的常用配置