Mybatis配置(学习笔记)

 

顺序不能颠倒

1
<properties/> 属性,
--    可以在此处如下定义属性<property name="a" value ="d"><property/>
        在XML文件中可以如此:${a}使用  简便  
        可以单列文件  <properties resource="pro.properties">引用

2
<settings/>  设置
--    缓存<setting name="cacheEnabled" value="true">
--    延迟加载 lazyLoadingEnable   true|false 
        延迟加载全局开关,当开启时,所有关联对象都会延迟加载,也可以在特定关系中使用fetchType设置
--    aggressiveLazyLoading    true|false
        开启时,对任意属性调用都会导致对象完整加载,反之,按需加载
--    自动映射 autoMappingBehavior  NONE|PARTIAL|FULL  默认为PARTIAL
        按顺序 取消自动映射;;;自动映射没有定义嵌套结果集和映射结果集;;;自动映射任意结果集
--    驼峰映射 mapUnderscoreToCamelCase true|false
        自动驼峰命名规则映射,,数据库列名A_COLUMN到属性名aColumn

3
<typeAliases/>  别名三种声明方式
--    <typeAlias alias="role" type="com.ddd.test.Role"/>
--    <package name="com.ssm.pojo">别名为类名首字母小写
--    @Alias("role")


4
<typeHandlers/> 类型转换器
--    <typeHandler jdbcType="VARCHAR" javaType="string" handler="com.ddd.handler.Myhandler"/>
--    需要实现接口typeHandle或者继承BaseTypeHandler
--    转换在resultMap记得设置中在属性后加入typeHandler="转换类所在位置"或者 jdbcType="",javaType=""
--    SQL语句#{note, jdbcType="",javaType=""}或者#{note, typeHandler="com.ddd.handler.Myhandler"}

5
<ObjectFactory/> 对象工厂
--    对象工厂用来创建结果集实例,Mybatis默认为DefaultObjectFactory 
        可以对其继承改写

6
<plugins/>插件

--    另起一篇吧

7
<environments/>运行环境
例:        <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"></transactionManager>
                <dataSource type="POOLED">
                    <property name="driver"
                        value="${db.driver}" />
                    <property name="url"
                        value="${db.url}" />
                    <property name="username" value="${db.username}" />
                    <property name="password" value="${db.password}" />
                </dataSource>

            </environment>
        </environments>
7.1
<transactionManager type=""/>事务管理器
--    两个实现类JdbcTransactionFactory生成的JdbcTransaction和ManagedTransactionFactory生成的ManagedTransaction
--    type值JDBC(JDBC方式操作事务)和MANAGED(交给容器管理)

7.2
<dataSource type=""/>数据源
--    UNPOOLED    非连接池,可以配置的属性有driver ,url ,username ,password ,defaultTransactionIsolationLevel
            可选项:driver.encoding=UTF-8  传递属性给数据库驱动
--    POOLED        除了上述,还有
            poolMaximumActiveConnections 任意时间都存在的连接数量默认10;
            poolMaximumIdleConnections 任意时间可能存在的空闲连接数
            poolMaximumCheckOutTime    强制返回之前,池中连接被检出的时间,默认20秒(20000ms)
            poolTimeToWait 获取连接花费一段时间后,打印状态日志,并重新尝试获取一个连接,避免一直失败,默认同上
            poolPingQuery 发送到数据库的侦测查询,检验连接是否处于正常工作秩序,并准备接受请求。
            poolPingEnabled 是否启用侦测查询,默认false
            poolPingConnectionNotUsedFor 配置侦测查询的使用频度,默认0
--    JNDI        为了能在EJB或应用服务器这类容器中使用,容器集中配置数据源并防止一个JNDI上下文引用
            initial-context     。。。。先放一会
            data_source         。。。。

--    支持第三方数据源 自定义数据源工厂需要实现DataSourceFactory    
            <dataSource type="com.ssm.dataSource.dddddataSourceFactory"></dataSource>

8
<databaseIdProvider/>数据库厂商标识
例如:    <databaseIdProvider type="DB_VENDOR">
        <property name="Oracle" value="oracle"/>
        <property name="MySQL" value="mysql"/>
        <property name="DB2" value="db2"/>
    <databaseIdProvider/>
    XML文件中标识SQL适用于那种数据库
    <select id="getRole" parameterType="long" resultType="role" databaseId="oracle">
        select id,r_name as roleName,note from role where id = #{id}
    </select>
    <select id="getRole" parameterType="long" resultType="role" databaseId="mysql">
        select id,r_name as roleName,note from role where id = #{id}
    </select>
    
--    配置了标识之后,会有限取到和数据库配置一致的SQL,若没有则取没有配置databaseId的SQL,若还是没有则异常
--    也可以自定义规则,需要实现接口DatebaseIdProvider
        <databaseIdProvider type="自定义的IdProvider位置">

9
<mappers/>映射器  另起一篇
--    <mapper resource="com/ssm/mapper/RoleMapper.xml"/>文件路径引入
--    <package name ="com.ssm.mapper">包名引入
--    <mapper class="com.ssm.mapper.RoleMapper">类注册  注解吧
--     <mapper url="file:///var/mappers/com/ssm/mapper/RoleMapper.xml">

 

 

--参考书目

JavaEE互联网轻量级框架整合开发--SSM框架(Spring MVC +Spring+Mybatis)和Redis开发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值