MyBatis系统核心配置文件详解

MyBatis系统核心配置文件详解

mybatis-config.xml 系统核心配置文件

  • configuration 配置

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

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

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

    • typeHandlers 类型处理器

    • objecttFactory 对象工厂

    • plugins 插件

    • environments 环境

    • environment 环境变量

      • transactionManager 事务管理器
      • dataSource 数据源
    • mappers 映射器

配置properties元素

  • 配置properties元素的两种方式

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

      • 配置properties的resourcec属性

        database.properties:

        driver=com.mysql.jdbc.Driver
        url=jdbc://localhost:3306/smbms?useUnicode=true&characterEncoding=utr-8
        username=root
        password=111111
        
        <properties resource="database.properties"/>
        ......
        <dataSource type="POOLED">
        	<property name="driver" value="${driver}"/>
        	<property name="url" value="${url}"/>
        	<property name="username" value="${username}"/>
        	<property name="password" value="${password}"/>
        </dataSource>
    • 直接配置为xml,实现动态配置

      • 配置property的name和value

        <propetries>
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <property name="ulr" value="jdbc://localhost:3306/smbms"/>
            <property name="username" value="root"/>
            <property name="password" value="111111"/>
        </propetries>
        ......
        <dataSource type="POOLED">
        	<property name="driver" value="${driver}"/>
        	<property name="url" value="${url}"/>
        	<property name="username" value="${username}"/>
        	<property name="password" value="${password}"/>
        </dataSource>
    • 若两种方式同时都用了,那么哪种方式优先

      • 配置properties的resource指定

      • 配置property的name和value

        <properties resource="database.properties"/>
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <property name="ulr" value="jdbc://localhost:3306/smbms"/>
            <property name="username" value="root"/>
            <property name="password" value="111111"/>
        </dataSource>

        结论:resource属性值的优先级高于property子节点配置的值

settings元素

  • 用来修改MyBatis运行时的行为方式

  • 主要时MyBatis的一些全局配置属性的设置

    <settings>
    	<!--是否启用延迟加载-->
        <setting name="lazyLoadingEnabled" value="false"/>
    </settings>
    设置项描述允许值默认值
    cacheEnabled对在此配置文件下的所有cache进行全局性开/关设置true | falsetrue
    lazyLoadingEnabled全局性设置懒加载。如果设为’false‘,则所有相关联的都会被初始化加载true | falsetrue
    autoMappingBehaviorMyBatis对于resultMap自动映射匹配级别NONE | PAERTIAL | FULLPARTIAL
    …(9个)

typeAliases元素

  • 类型别名

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

    <typeAliases>
    	<typeAlias alias="User" type="cn.smbms.pojo.User"/>
    </typeAliases>
    <typeAliases>
    	<package name="cn.smbms.pojo"/>
    </typeAliases>

environments元素

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

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

    <environments default="chap1">
    	<environment id="chap1">
            <!--使用jdbc事务管理 -->
            <transactionManager type="JDBC"/>
            <!-- 数据库连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/supermarket?					characterEncoding=utf-8"/>
                <property name="username" value="root"/>
                <property name="password" value="111111"/>
            </dataSource>
        </environment>
        <environment id="chap2">
        ......
        </environment>
    </environments>
  • transactionManager-事务管理器

    <transactionManager type="[JDBC | MANAGED]"/>
  • dataSource

    • dataSource元素使用基本的JDBC数据源接口来配置JDBC连接对象的资源

    • 有三种内建的数据源类型

      <dataSource type="[UNPOOLED|POOLED|JNDI]">
      <dataSource type="POOLED">
          <property name="driver" value="com.mysql.jdbc.Driver"/>
          <property name="url" value="jdbc:mysql://localhost:3306/supermarket?				characterEncoding=utf-8"/>
          <property name="username" value="root"/>
          <property name="password" value="111111"/>
      </dataSource>

mapper元素

  • 映射器,定义SQL映射语句

  • 须在配置中引用mapper映射文件

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

    <!-- 将mapper映射文件加入到系统核心配置文件中 -->
    <mappers>
        <mapper resource="cn/smbms/dao/user/UserMapper.xml"/>
    </mappers>
  • 方式二:使用URL获取资源

    <mappers>
        <mapper url="file:///E:/sqlmappers/UserMapper.xml"/>
    </mappers>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值