MyBatis-SqlMapConfig.xml 配置

作者: 暗物质 | 来源:发表于2017-07-11 10:34 被阅读42次

    SqlMapConfig.xml 讲解

    mybatis的全局配置文件,配置内容如下:

    properties(属性)
    settings (全局配置参数)
    typeAliases (类型别名)
    typeHandlers (类型处理器)
    objectFactory (对象工厂)
    plugins (插件)
    environments (环境集合属性对象)
    environment (环境子属性对象)
    transactionManager (事务管理)
    dataSource (数据源)
    mappers (映射器)

    properties

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

    在SQLMapConfig.xml中就不需要对数据库进行硬编码了。

    方便对数据库连接参数进行统一的管理,其他的xml可以引用该db.properties

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/order_manager?characterEncoding=utf-8
    jdbc.username=root
    jdbc.password=shuai@LE
    
    • 在SqlMapConfig.xml中加载属性文件:
    • Properties特性:

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

    在properties 元素体内定义的属性首先被读取;

    然后会读取Properties 元素中 resource 或 url加载的属性,它会覆盖已读取的同名属性;

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

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

    建议不要在properties 元素体内添加任何属性值,只将属性值定义在Properties文件中。在properties文件中定义的属性名要有一定的特殊性,如:xxxx.xxxx.xxxx

    settings全局参数配置

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

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

    需要的时候来配置,具体如何配置,请搜索。

    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
    data Data
    decimal BigDecimal
    bigdecimal BigDecimal
    • 自定义别名

    在SQLMapConfig.xml中配置:

    单个别名的定义:

    引用别名:

    批量定义别名:(常用)

    typeHandlers (类型处理器)

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

    mybatis自带的类型处理器基本上满足日常需求,一般不需要单独定义。

    mappers (mapper映射配置)

    • 单个映射文件加载:

    <mapper resource=""/>
    使用相对于类路径的资源
    如:<mapper resource="sqlmap/User.xml" />

    <mapper url=""/>
    使用完全路径
    如:<mapper url="file://D:...\User.xml" />

    通过mapper接口加载
    <mapper class=""/>

    使用mapper接口类路径:

    • 批量加载mapper(推荐使用)

    相关文章

      网友评论

        本文标题:MyBatis-SqlMapConfig.xml 配置

        本文链接:https://www.haomeiwen.com/subject/mipphxtx.html