zoukankan      html  css  js  c++  java
  • SqlMapConfig.xml文件详解

    SqlMapConfig.xml 是 mybatis 的全局配置文件,配置内容如下:

    properties(属性)

    settings(全局配置参数)

    typeAliases(类型别名)

    typeHandlers(类型处理器)

    objectFactory(对象工厂)

    plugins(插件)

    environments(环境集合属性对象)

    environment(环境子属性对象)

    transactionManager(事务管理)

    dataSource(数据源)

    mappers(映射器)

     

    1、properties 属性

      需求:将数据库连接参数单独配置在 db.properties 中,只需要在 SqlMapConfig.xml 中加载该配置文件的属性值。

         在 SqlMapConfig.xml就不需要对数据库连接参数硬编码。 

      将数据库连接参数只配置在 db.properties 中,原因:方便对参数进行统一管理,其他 xml 可以应用该配置文件。

      

      在 SqlMapConfig.xml 加载属性:

    <!-- 加载属性文件 -->
    <properties resource="/config/db.properties"></properties>
    
    <!-- 和spring整合后environment配置将废除 -->
    <environments default="development">
        <environment id="development">
            <!-- 使用jdbc事务管理 -->
            <transactionManager type="JDBC" />
            <!-- 数据库连接池,由mybatis管理 -->
            <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>

     

      

      properties特性:

        注意: MyBatis 将按照下面的顺序来加载属性:

        (1)在 properties 元素体内定义的属性首先被读取。

        (2)然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。

        (3)最后读取parameterType传递的属性,它会覆盖已读取的同名属性。

            因此,通过parameterType传递的属性具有最高优先级,resource或 url 加载的属性次之,最低优先级的是 properties 元素体内定义的属性。

         

         建议:不要在 properties 元素体内添加任何属性值,只将属性值定义在 properties 文件中。

            且在 properties 文件中定义的属性名要有一定的特殊性,如:xxxx.xxxx.xxxx 

     

     

    2、setting 全局参数配置

      mybatis 框架在运行时可以调整一些运行参数。

      比如:开启二级缓存、开启延迟加载。

      全局参数将会影响 mybatis 的运行行为:

      

      

      

    3、typeAliases(别名)重点

      在 mapper.xml 中,定义了很多的 statement,statement 需要 parameterType 指定输入参数的类型,需要 resultType 指定输出结果的映射类型。

      如果在指定类型时输入类型全路径,不方便进行开发,可以针对 parameterType 或 resultType 指定的类型定义一些别名,在 mapper.xml 中通过别名定义,方便开发。

      mybatis默认支持别名:

    别名

    映射的类型

    _byte

    byte

    _long

    long

    _short

    short

    _int

    int

    _integer

    int

    _double

    double

    _float

    float

    _boolean

    boolean

    string

    String

    byte

    Byte

    long

    Long

    short

    Short

    int

    Integer

    integer

    Integer

    double

    Double

    float

    Float

    boolean

    Boolean

    date

    Date

    decimal

    BigDecimal

    bigdecimal

    BigDecimal 

     

     

      针对 pojo 需要我们自定义别名:

        单个别名的定义:

    <typeAliases>
        <!-- 
            针对单个别名定义
            type:类型的路径
            alias:别名
         -->
        <typeAlias type="com.bjxb.mybatis.pojo.User" alias="user"/>
    </typeAliases>

         批量别名的定义:

    <typeAliases>
        <!-- 
            批量别名的定义
            指定包名: mybatis自动扫描包中的 pojo类 ,自动定义别名,别名就是类名(首字母大写或小写都可以)
         -->
        <package name="com.bjxb.mybatis.pojo"/>
    </typeAliases>

     

     4、typeHandlers(类型处理器)

      mybatis 中通过 typeHandlers 完成 jdbc 类型和 java 类型的转换

      通常情况下,mybatis 提供的类型处理器满足日常需要,不需要自定义:  (续23)

  • 相关阅读:
    解决maven托管项目中pom.xml存在坐标标红的问题
    Jquery取form表单中的所有参数
    解决IntelliJ IDEA控制台输出中文乱码问题
    Maven项目打包及jar包与war包的区别
    IDEA创建Maven web项目(项目结构组织、文件编译及运行明细)
    http学习笔记--报文构成
    http报文结构
    mount: unknown filesystem type 'vboxsf'
    使用shell做过时处理以及发送邮件的事例
    fuelphp 日志文件保存路径以及日志文件名变更中遇到的问题总结
  • 原文地址:https://www.cnblogs.com/xb1223/p/10199076.html
Copyright © 2011-2022 走看看