
mybatis
huapro.vip
不忘初心
展开
-
Spring+MyBatis实现读写分离四种实现方案整理
方案1通过MyBatis配置文件创建读写分离两个DataSource,每个SqlSessionFactoryBean对象的mapperLocations属性制定两个读写数据源的配置文件。将所有读的操作配置在读文件中,所有写的操作配置在写文件中。方案2通过Spring AOP在业务层实现读写分离,在DAO层调用前定义切面,利用Spring的AbstractRoutingDataSource解决多数据源的问题,实现动态选择数据源方案3通过Mybatis的Plugin在业务层实现数据库读写分离,在MyB原创 2022-03-11 15:59:29 · 1819 阅读 · 0 评论 -
Mybatis中使用的10种设计模式
Mybatis至少遇到了以下的设计模式的使用:1、Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder;2、工厂模式,例如SqlSessionFactory、ObjectFactory、MapperProxyFactory;3、单例模式,例如ErrorContext和LogFactory;4、代理模式,Mybatis实现的核心,比如MapperPr原创 2022-02-17 09:41:22 · 807 阅读 · 0 评论 -
Mybatis 有二级缓存,为什么还要用 redis
Mybatis 一级缓存作用域是 session,session commit 之后缓存就失效了。Mybatis 二级缓存作用域是 sessionfactory,该缓存是以 namespace 为单位的(也就是一个 Mapper.xml 文件),不同 namespace 下的操作互不影响。所有对数据表的改变操作都会刷新缓存。但是一般不要用二级缓存,例如在 UserMapper.xml 中有大多数针对 user 表的操作。但是在另一个 XXXMapper.xml 中,还有针对 user 单表的操作。这会导原创 2022-02-11 16:39:49 · 1352 阅读 · 0 评论 -
mabatis配置文件加载过程
mabatis配置文件加载过程第一次写尝试用markdown写个人博客,万事开头难,后期针对某一主题反复迭代吃透程序运行过程程序结构测试类 @Test public void test08() throws IOException{/* Logger logger=Logger.getLogger(Mytest.class); logger.f原创 2017-09-03 17:21:40 · 425 阅读 · 0 评论 -
Spring与Mybatis整合的MapperScannerConfigurer处理过程源码分析
前言本文将分析mybatis与spring整合的MapperScannerConfigurer的底层原理,之前已经分析过java中实现动态,可以使用jdk自带api和cglib第三方库生成动态代理。本文分析的mybatis版本3.2.7,mybatis-spring版本1.2.2。MapperScannerConfigurer介绍MapperScannerConfigurer是sp转载 2017-09-01 12:27:05 · 375 阅读 · 0 评论 -
[MyBatis]DAO层只写接口,不用写实现类
团队开发一个项目,由老大架了一个框架,遇到了DAO层不用写接口了,我也是用了2次才记住这个事的,因为自己一直都是习惯于写DAO层的实现类,所以,习惯性的还是写了个实现类。于是遇到错误了。找不到那个方法。问了团队的人才知道,方法名和Mapper中配置的id名必须一样。实现:一、配置Spring集成MyBatis:"http://www.springframework.org/转载 2017-09-18 23:09:29 · 2208 阅读 · 0 评论 -
Mybatis中Mapper动态代理的实现原理
原创 2017年07月28日 10:42:1929200一、概述我们知道,Mybatis实现增删改查需要进行XML的配置,其基本的配置如下: <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.or转载 2017-09-18 23:44:03 · 487 阅读 · 0 评论 -
Java框架篇---Mybatis 构建SqlSessionFactory
从 XML 中构建 SqlSessionFactory基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先定制的 Configuration 的实例构建出转载 2017-10-25 10:59:25 · 946 阅读 · 0 评论