• mybatis


    1 概念和渊源

      Mybatis是一款支持自定义sql、存储过程、高级映射的持久化框架。本是apache的一个开源iBatis项目,2010年更名为MyBatis,2013年11月迁移到Github。

      Mybatis是一个ORM(object relation mapping)对象关系映射框架,用于实现面向对象编程语言里不同类型系统的数据之间的转换,把表映射成实体类,表中字段映射成实体类属性。

    2 配置和应用

    2.1 需要添加的驱动包

    mybatis-3.2.7.jar

    mybatis-spring-1.2.0.jar

    package .org.apache.ibatis

    2.2 配置mapperinitialization.xml

    配置SqlSessionFactoryBean,

    2.3 实体类,用于映射对象

    2.4 mybatis.xml,用于生成sql语句

    2.5 接口代码以及实现类

    3 如何分页

    3.1 使用sql语句limit

    3.2 使用插件PageHelper-Spring-Boot-Starter

    4 缓存

      通过HashMap的缓存实现。

    4.1 一级缓存默认开启,不支持配置,SqlSession自带,一旦SqlSession对象被创建,一级缓存就存在了,如果对象关闭或调用清理方法,缓存则失效。

      SqlSession之间的一级缓存互相不影响。

    4.2 二级缓存是Mapper命名空间的缓存,即每一个mapper都可以拥有一个cache对象。支持跨多个SqlSession对象使用,通过SqlSessionFactory进行管理。可以自动对数据库的查询做缓存,并且可以在更新数据库的同时自动地更新缓存。

    4.2.1 方法一

    步骤一:全局配置变量参数cacheEnabled true

    步骤二:a:Mapper.xml配置标签对

            1)一个mapper用一个cache缓存对象<cache/>

            2)多个mapper共用一个cache缓存对象<cache-ref/>

             b:mapper接口中增加注解@CacheNamespace,@CacheNamespaceRef

    步骤三:Sql语句中配置useCache  true

    4.2.2 方法二  缓存组件,如redis,可以查看已有博文部分章节 Redis

    使用场景:查询多,DML少,实时性要求不高

  • 相关阅读:
    线程池:第二章:线程池实际中使用哪一个
    实战:第五章:EZDML修改数据类型
    面试:第十四章:大厂中高级java程序员面试题
    服务网关Zuul路由转发
    启动zipkin服务
    安装Elasticsearchhead
    Zuul 路由熔断
    Unable to find local grunt.
    Kibana安装
    sleuth zipkin链路追踪
  • 原文地址:https://www.cnblogs.com/guobm/p/9987423.html
Copyright © 2020-2023  润新知