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少,实时性要求不高

 

posted @ 2018-11-20 10:27  sun-sailing  阅读(283)  评论(0编辑  收藏  举报