zoukankan      html  css  js  c++  java
  • MyBatis核心配置文件详解

    ------------------------siwuxie095

       

       

       

       

       

       

       

       

       

    MyBatis 核心配置文件详解

       

       

    1、核心配置文件的名称和位置没有固定要求

       

    1)位置:建议在 src

       

    2)名称:建议为 mybatis-config.xml

       

       

       

    2、核心配置文件的内容全部写在根标签 <configuration>

       

       

       

    3、核心配置文件的内容组成

       

    第一部分:配置环境(必须)

       

    第二部分:其它配置(可选)

       

    第三部分:引入映射配置文件(必须)

       

       

       

       

    4、核心配置文件中元素的配置顺序可参照下图

       

       

       

    参考链接:http://www.mybatis.org/mybatis-3/zh/configuration.html

       

       

       

       

    5、核心配置文件中的主要标签

       

    1properties(属性)

       

    用于设置属性,且这些属性都是可外部配置和可动态替换的

       

       

    如:读取外部属性文件

       

       

    「属性文件 也称 资源配置文件,相对于核心配置文件而言,它是外部的」

       

       

       

    2settings(设置)*

       

    用于改变 MyBatis 的运行时行为

       

    1

       

    参数:cacheEnabled

       

    描述:该配置影响的所有映射器中配置的缓存的全局开关

       

    有效值:true | false

       

    默认值:true

       

       

    2

       

    参数:lazyLoadingEnabled

       

    描述:延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。

    特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态

       

    有效值:true | false

       

    默认值:false

       

       

    3

       

    参数:aggressiveLazyLoading

       

    描述:当开启时,任何方法的调用都会加载该对象的所有属性。否则,

    每个属性会按需加载(参考lazyLoadTriggerMethods)

       

    有效值:true | false

       

    默认值:false (true in 3.4.1)

       

       

    4

       

    参数:mapUnderscoreToCamelCase

       

    描述:是否开启自动驼峰命名规则(camel case)映射,即从经典数据库

    列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射

       

    有效值:true | false

       

    默认值:false

       

       

    如:开启自动驼峰命名规则映射

       

       

       

       

    3typeAliases(类型别名)*

       

    用于为 Java 类型设置一个短的名字,以减少类完全限定名的冗余

       

       

    如:

       

       

    当这样配置时,User 可以用在任何使用 com.siwuxie095.entity.User

    的地方

       

    其中:

       

    1)type 为 Java 类型,alias 为别名名称

       

    2)建议将别名设置为类名

       

    3)别名首字母不区分大小写,建议大写

       

       

    当然,也可以指定一个包名,MyBatis 会自动扫描该包下的所有类,

    并自动生成对应别名(默认为类名)

       

    如:

       

       

       

    另外,MyBatis 也内置了许多相应的类型别名,即 默认类型别名,

    其中有基本数据类型、包装类、集合类

       

       

       

    4typeHandlers(类型处理器)

       

    用于在参数映射和结果映射时,将值以合适的方式转换成 Java 类型

       

    「MyBatis 提供了许多默认的类型处理器,一般不需要自定义」

       

       

       

    5plugins(插件)*

       

    用于在已映射语句执行过程中的某一点进行拦截调用,所以 插件 也称 拦截器

       

     

    主要为以下四个点:

       

    1)Executor

       

    2)ParameterHandler

       

    3)ResultSetHandler

       

    4)StatementHandler

       

       

       

    6environments(环境)

       

    用于配置环境,其中包括事务管理器和数据源,且 MyBatis 可以

    配置成适应多种环境(开发环境、测试环境、生产环境)

       

       

    如:配置开发环境

       

       

       

    <environments default="development">

    <environment id="development">

     

    <transactionManager type="JDBC"/>

     

    <dataSource type="POOLED">

    <property name="driver" value="${jdbc.driver}"/>

    <property name="url" value="${jdbc.url}"/>

    <property name="username" value="${jdbc.username}"/>

    <property name="password" value="${jdbc.password}"/>

    </dataSource>

     

    </environment>

    </environments>

       

       

       

    7mappers(映射器)*

       

    用于引入包含映射语句的文件(映射配置文件 映射器接口)

       

    法一:指定映射配置文件的相对路径

       

       

    <mappers>

     

    <mapper resource="com/siwuxie095/mapper/UserMapper.xml"/>

     

    </mappers>

       

       

    法二:指定映射配置文件的绝对路径

       

       

    <mappers>

     

    <mapper url="file:///E:/workspace/TestMyBatis/src/com/siwuxie095/mapper/UserMapper.xml"/>

     

    </mappers>

       

       

    法三:指定映射器接口的相对路径

       

       

    <mappers>

     

    <mapper class="com.siwuxie095.mapper.UserMapper"/>

     

    </mappers>

       

       

    法四:指定映射器接口的包名

       

       

    <mappers>

     

    <package name="com.siwuxie095.mapper"/>

     

    </mappers>

       

       

    注意:

       

    1)对于法一和法二,建议将映射配置文件放在映射器接口所在包下

       

    2)对于法三和法四,必须将映射配置文件放在映射器接口所在包下

       

       

       

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    编程题--简易消除
    条件随机场理论分析CRF(Conditional Random Field)
    受限玻尔兹曼机和深度置信网络
    深度学习的起源、发展和现状
    条件随机场matlab程序下载
    Matlab 运行C程序出现的编译出错问题
    python爬取安居客二手房网站数据
    小白开始
    prctl系统调用设置进程名
    Java 中的 super 关键字
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/8372898.html
Copyright © 2011-2022 走看看