zoukankan      html  css  js  c++  java
  • MyBatis学习存档(2)——核心配置文件

    一、xml节点结构

    configuration为根节点

    properties 可以配置在Java 属性配置文件中

    settings 修改 MyBatis 在运行时的行为方式

    typeAliases 为 Java 类型命名一个别名(简称)

    typeHandlers 类型处理器

    objectFactory 对象工厂

    plugins 插件

    environments 环境

    environment 环境变量

    transactionManager 事务管理器

    dataSource 数据源

    mappers 映射器

    二、各节点作用

    2.1 properties节点

    配置properties元素有两种方式

    通过外部指定的方式(database.properties),实现动态配置

    直接通过其子节点property配置,实现动态配置

    1、通过外部指定的方式(database.properties),实现动态配置

    配置properties的resource属性

    <properties resource="database.properties"/>      
    ......
    <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>

    2、直接通过其子节点property配置,实现动态配置

    <properties>
            <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
            <property name="url" value="jdbc:sqlserver:///house"/>
            <property name="user" value="sa"/>
            <property name="password" value=“123"/>
    </properties>
    ......
    <dataSource type="POOLED">
            <property name="driver" value="${driver}"/>
            <property name="url" value="${url}"/>
            <property name="username" value="${user}"/>
            <property name="password" value="${password}"/>
    </dataSource>

    3、若两种方式同时都用了,resource属性值的优先级高于property子节点配置的值

    2.2 settings节点

    由多个setting节点组成,用来修改MyBatis运行时的行为方式,主要是MyBatis的一些全局配置属性的设置,具体如下:

    设置项 描述 允许值 默认值
    cacheEnabled 对在此配置文件下的所有cache 进行全局性开/关设置 true | false true
    lazyLoadingEnabled 全局性设置懒加载。如果设为‘false’,则所有相关联的都会被初始化加载 true | false true
    autoMappingBehavior MyBatis对于resultMap自动映射匹配级别 NONE | PARTIAL | FULL PARTIAL
    ……(9个) …… …… ……

    2.3 typeAliases节点

    类型别名。仅仅只关联XML配置,简写冗长的Java类名

    有2种配置方式:

    <typeAliases>
        <typeAlias alias="Users" type="com.pojo.Users"/>
    </typeAliases>
    <typeAliases>
        <package name ="com.pojo" />
    </typeAliases>

    2.4 environments节点

    表示配置MyBatis的多套运行环境,将SQL映射到多个不同的数据库上

    子节点:environment,但是必须指定其中一个为默认运行环境(通过default指定)

    虽然可以配置多个运行环境,但是每个SqlSessionFactory 实例只能选择一个运行环境。即:每个数据库对应一个SqlSessionFactory实例

    <environments default="development"><!-- 默认的运行环境 ID -->
        <environment id="development"><!-- 运行环境 ID -->
            <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>
        <environment id="test">
        ……
        </environment>
    </environments>

    其中,transactionManager的可填值为JDBC或者MANAGED(托管),通常使用JDBC

    dataSource有三种内建的数据源类型,分别是UNPOOLED | POOLED | JNDI,通常使用POOLED

    2.5 mappers节点

    用来定义SQL映射语句,须在配置中引用mapper映射文件,配置方式有2种:

    方式一:使用类资源路径获取资源

    <!-- 将mapper映射文件加入到系统核心配置文件中 -->
    <mappers>
        <mapper  resource="com/mapper/UsersMapper.xml"/>
    </mappers>

    方式二:使用包名自动获取资源

    <mappers>
        <package name="com.mapper"/>
    </mappers>
  • 相关阅读:
    使用阿里云接口进行银行卡四要素实名认证
    使用阿里云接口进行银行卡三要素实名认证(阿里云api接口java)
    如何使用阿里云进行人脸和身份证头像验证比对(人证核验接口API)--java
    PHP语言对用户输入的身份证信息进行实名认证(api接口)
    Python 语言如何对身份证真实性进行实名认证(api接口)
    如何对网站用户进行实名认证
    PLSQL Developer 连接oracle(64)(instantclient_32)
    struts2的防止表单重复提交
    JSP静态化(伪静态)
    Jmeter中压力测试带验证码的登录功能
  • 原文地址:https://www.cnblogs.com/s1165482267/p/8032573.html
Copyright © 2011-2022 走看看