Mybatis配置

Mybatis配置XML文件的层次结构 p37

 

3.1properties元素<propertiesresource= ”jdbc.properties ”><property name=”” value=””/></properties>

3.2 设置 <settings><setting name=”” value=”” /></settings>

3.3 别名 系统定义别名在TypeAliasRegisTry()中

         自定义别名<typeAliases><tyoeAlias alias=”” type=””/></typeAliases>

                   扫描注解<typeAliases><package name=” “/></typeAliases>  @Alias(“”)

3.4 typeHandle类型处理器

         MyBatis在预处理语句(PreparedStatement)中设置一个参数时,或者从结果集(ResultSet)中取出一个值时,都会用注册了的typeHandler进行处理.

typeHandle常用的配置为Java类型(javaType)\JDBC类型(jdbcType).typeHandler的作用就是将参数从javatype转化为觉得不错type,或者从数据库取出结果时把jdbcType转化为javatype.

 

1.系统定义的typeHandler   TypeHandlerRegistry()里注册了系统定义的tyoeHandler

2.自定义typeHandler

         注册自定义typeHandler.       <typeHandlers><typeHandlerjdbcType=”VARCHAR” javaType=”string” handler=” MyStringTypeHandler”/></typeHandlers>

         MyStringTypeHandler继承TypeHandler接口  注解配置jdbctype\javatype

         @MappedTypes({String.class})                 @MappedJdbcTypes(JdbvType.VARCHAR)

3种typeHandler的使用方法

1.   在配置文件里配置,在映射集上定义jdbcType和javaType

2.   在映射集里面直接定义具体的typeHandler

3.   在参数中定义typeHandler.

 

4.      枚举类型typeHandler

EnumTypeHandler是使用枚举字符串名称作为参数传递的,EnumOrdinalTypeHandler是使用整数下标作为参数传递的.

自定义枚举类的typeHandler

 

3.5ObjectFactory     当MyBatis在构建一个结果返回的时候,都会使用ObjectFactory(对象工厂)去构建POJO,在Mybatis中可以定制自己的对象工厂.

<objectFactory type=”MyObjectFactory><propertyname=”name” value=”MyObjectFactory”/></objectFactory>

要实现ObejctFactory接口.也可以继承DefaultObjectFactory类.

 

3.7 environments配置环境   数据库事务  数据源

3.8 databaseProvider数据库厂商标识.

3.9 引入映射器的方法

         1.用文件路径<mappers><mapperresource=”com/learn/mapper/roleMapper.xml”/></mappers>

         2.用包名<mappers><package name=”com.learn.mapper”/></mappers>

         3.用类注册引入<mappers><mapper class=”com.learn.mapper.UserMapper”/></mappers>

         4.用userMapper.xml引入.<mappers><mapper url=file:///var/mappers/com/learn/mapper/roleMapper.xml/></mappers>

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值