zoukankan      html  css  js  c++  java
  • 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少,实时性要求不高

  • 相关阅读:
    HDOJ-3635-Dragon Balls 解题报告
    HDOJ-1217-Arbitrage 解题报告
    C语言控制台窗口图形界面编程(总结)
    PC(win10)上搭建 kubernetes + docker 集群环境
    Hessian 2.0 序列化协议
    对响应式布局的理解
    常用链接集合
    dubbox升级dubbo的过渡方案:通过扩展dubbo的Protocol实现dubbo与dubbox的相互调用
    Wordpress部署 —— 基于Ubuntu、Mysql和Nginx
    关于27种常见设计模式的总结
  • 原文地址:https://www.cnblogs.com/guobm/p/9987423.html
Copyright © 2011-2022 走看看