zoukankan      html  css  js  c++  java
  • 3月31日

    4、配置解析

    1. 核心配置文件

    • mybatis-config.xml

    • Mybatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。

      configuration(配置)
        properties(属性)
        settings(设置)
        typeAliases(类型别名)
        typeHandlers(类型处理器)
        objectFactory(对象工厂)
        plugins(插件)
        environments(环境配置)
        environment(环境变量)
        transactionManager(事务管理器)
        dataSource(数据源)
        databaseIdProvider(数据库厂商标识)
        mappers(映射器)

    2. 环境配置 environments

    MyBatis 可以配置成适应多种环境

    不过要记住:尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境

    学会使用配置多套运行环境!

    MyBatis默认的事务管理器就是JDBC ,连接池:POOLED

    3. 属性 properties

    我们可以通过properties属性来实现引用配置文件

    这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。【db.poperties】

    1. 编写一个配置文件

      db.properties

      driver=com.mysql.cj.jdbc.Driver
      url=jdbc:mysql://localhost:3306/mybatis?userSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
      username=root
      password=root
    2. 在核心配置文件中引入

      <!--引用外部配置文件-->
      <properties resource="db.properties">
         <property name="username" value="root"/>
         <property name="password" value="root"/>
      </properties>
      • 可以直接引入外部文件

      • 可以在其中增加一些属性配置

      • 如果两个文件有同一个字段,优先使用外部配置文件的

    4. 类型别名 typeAliases

      • 类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置.

      • 意在降低冗余的全限定类名书写。

        <!--可以给实体类起别名-->
        <typeAliases>
           <typeAlias type="com.kuang.pojo.User" alias="User"/>
        </typeAliases>

        也可以指定一个包,每一个在包 domain.blog 中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。 比如 domain.blog.Author 的别名为 author,;若有注解,则别名为其注解值。见下面的例子:

        <typeAliases>
           <package name="com.kuang.pojo"/>
        </typeAliases>

        在实体类比较少的时候,使用第一种方式。

        如果实体类十分多,建议用第二种扫描包的方式。

        第一种可以DIY别名,第二种不行,如果非要改,需要在实体上增加注解。

        @Alias("author")
        public class Author {
          ...
        }
  • 相关阅读:
    深度学习中一些常用函数的偏导数
    C++ 隐式类型转换与类型转换函数
    Tensorboard数据(tfevents文件)格式解析及ofstream使用问题
    记一次由unordered_map引起的bug
    softmax数值溢出 与 xent-loss问题
    C++ 单独编译(separate compilation)与 模板的编译
    TensorFlow源码分析——Tensor与Eigen
    ubuntu16.04 docker tensorflow-gpu镜像使用
    vscode Ftp-sync插件报错问题: sync error: Error: Permission denied
    PHP加速之eaccelerator
  • 原文地址:https://www.cnblogs.com/ldy2396/p/14909191.html
Copyright © 2011-2022 走看看