• MyBatis 知识点


    • 2010年,随着开发团队转投Google Code旗下,ibatis 3.x 正式更名为 Mybatis。

    orm工具的基本思想

    • 无论是 hibernate、Mybatis,orm工具有一个共同点:
    1. 从配置文件(通常是 XML 配置文件中)得到 sessionfactory.
    2. 由 sessionfactory 产生 session
    3. 在 session 中完成对数据的增删改查和事务提交等.
    4. 在用完之后关闭 session 。
    5. 在 Java 对象和 数据库之间有做 mapping 的配置文件,也通常是 xml 文件。

    配置文件解释下:

    1. Configuration.xml 是 mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如<typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/> 这个别名非常重要,你在 具体的类的映射中,比如 User.xml 中 resultType 就是对应这里的。要保持一致,当然这里的 resultType 还有另外单独的定义方式,后面再说。
    2. Configuration.xml 里面 的<mapper resource="com/yihaomen/mybatis/model/User.xml"/>是包含要映射的类的 xml 配置文件。
    3. 在 User.xml 文件里面 主要是定义各种 SQL 语句,以及这些语句的参数,以及要返回的类型等。
    • 对应class的xml中,property对应类的属性,column对应查询sql的项。

    • 问:mybatis mapper xml文件配置resultmap时,id行和result行有什么区别?
      答:id和result都是映射单列值到一个属性或字段的简单数据类型。
      唯一不同是:id是作为唯一标识的,当和其他对象实例对比的时候,这个id很有用,尤其是嵌入缓存和结果映射时。

    • 问:resultMap和resultType的区别?
      答:MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap;
      resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用;
      但是resultType跟resultMap不能同时存在。
      在MyBatis进行查询映射的时候,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。当提供的返回类型属性是resultType的时候,MyBatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。
      所以其实MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候,MyBatis对自动的给我们把对应的值赋给resultType所指定对象的属性,而当我们提供的返回类型是resultMap的时候,Mybatis就会根据我们配置的信息做映射。

    mybatis的日志实现

    • 具体选择哪个日志实现工具由MyBatis的内置日志工厂确定。它会使用最先找到的(按下面列举的顺序查找)。 如果一个都未找到,日志功能就会被禁用。
      SLF4J
      Apache Commons Logging
      Log4j 2
      Log4j
      JDK logging
      当一个系统有多个日志的时候,如果想用低等级的框架,就需要在mybatis配置文件中写上这句话声明一下:
    <setting name="logImpl" value="LOG4J"/>
    

    logImpl可选的值有:SLF4J、LOG4J、LOG4J2、JDK_LOGGING、COMMONS_LOGGING、STDOUT_LOGGING、NO_LOGGING 或者是实现了接口org.apache.ibatis.logging.Log的类的完全限定类名, 并且这个类的构造函数需要是以一个字符串(String类型)为参数的。

  • 相关阅读:
    手把手教你利用create-nuxt-app脚手架创建NuxtJS应用
    初识NuxtJS
    webpack打包Vue应用程序流程
    用选择器代替表格列的筛选功能
    Element-UI
    Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]
    Sparse Principal Component Analysis via Rotation and Truncation
    Generalized Power Method for Sparse Principal Component Analysis
    Sparse Principal Component Analysis via Regularized Low Rank Matrix Approximation(Adjusted Variance)
    Truncated Power Method for Sparse Eigenvalue Problems
  • 原文地址:https://www.cnblogs.com/cag2050/p/6888782.html
Copyright © 2020-2023  润新知