• MyBatis使用笔记


    MyBatis 使用笔记

    1、typeAliases 配置细节

     1)使用配置项 [ <package name="domain.blog"/> ] 时,会自动注册设定的包及其子包下的所有类
     2)在Mapper文件中使用别名时,mybatis对别名的查找不区分大小写

    2、对于返回结果为集合类查询,resultType为集合元素的类型,而非集合的类型

    3、MyBatis的缓存分为:一级缓存(local cache)  及  二级缓存(global cache), 缓存的相关细节可以打印日志的方式进行验证,简要说明:

      1)一级缓存为SqlSession级;二级缓存为全局,但命名空间相互独立

      2)一级缓存默认开启;二级缓存默认不生效,需在Mapper文件中添加<cache />子项,缓存的元素需可序列化,具体说明可参考 mybatis 缓存(cache)的使用

      3)搜索的顺序为先二级缓存,后一级缓存,框架图如下:

                

    4、mybatis在select一张表时,如果无查询结果,则:

      1)查询结果为对象时,返回结果为null

      2)查询结果为List时,返回结果为size=0的空集合

    5、mybatis默认启用local cache,对于相同输入的查询进行缓存,从而提高效率,因此,

      1)同一session的相同查询不会影响效率,可以充分利用这一点优化代码结构

      2)不要修改mybatis的返回结果,以免影响缓存值,详细说明见:MyBatis > Java API > Local Cache

      3)与spring一起使用时,须开启spring事务,local cache才能生效,详细可参考spring结合mybatis时一级缓存失效问题

     6、如何指定mybatis mapper bean name? 方法是使用 org.springframework.stereotype.Component 或 javax.inject.Named 注解

  • 相关阅读:
    【go语言学习】标准库之sync
    【go语言学习】并发实现
    【go语言学习】并发概念
    【html学习】html基础
    【go语言学习】错误error和异常panic
    【go语言学习】type关键字
    【go语言学习】面向对象oop
    【go语言学习】接口interface
    【go语言学习】结构体struct
    【go语言学习】指针pointer
  • 原文地址:https://www.cnblogs.com/MattCheng/p/8024096.html
Copyright © 2020-2023  润新知