摘要:
springboot、druid、mybatis、mybatis-plus pagehelper 各大功能集成。开发就是那么简单 阅读全文
摘要:
mybatis运行分为两部分,第一部分读取配置文件缓存到Configuration对象中。用以创建SqlSessionFactory,第二部分是SqlSession的执行过程。 Mybatis基本认识 动态代理 之前我们知道Mapper仅仅是一个接口,而不是一个逻辑实现类。但是在Java中接口是无法 阅读全文
摘要:
在我们传统的开发中我们会通过拼接sql达到数据库的操作。java中的拼接不仅效率低下而且代码很长不易维护。而Mybatis通过代理模式实现SQL语句的组装。简洁易懂。 常用标签 元素 作用 备注 if 判断语句 条件分支 choose switch 多条件分支 trim 去除空字符 特殊处理 for 阅读全文
摘要:
系统的不断扩大,分布式锁是最基本的保障。与单机的多线程不一样的是,分布式跨多个机器。线程的共享变量无法跨机器。 为了保证一个在高并发存场景下只能被同一个线程操作,java并发处理提供ReentrantLock或Synchronized进行互斥控制。但是这仅仅对单机环境有效。我们实现分布式锁大概通过三 阅读全文
摘要:
导出word我们常用的是通过POI实现导出。POI最擅长的是EXCEL的操作。word操作起来样式控制还是太繁琐了。今天我们介绍下通过FREEMARK来实现word模板导出。 开发准备 本文实现基于springboot,所以项目中采用的都是springboot衍生的产品。首先我们在maven项目中引 阅读全文
摘要:
Java中为什么String是不可变性的。今天我们从多角度解析为什么Java把String做成不可变的。 常量池 Java中我们创建String对象有两种基本方法。 String str1 = "zxhtom"; String str2 = new String("zxhtom"); 上面两种方式我 阅读全文
摘要:
[TOC] 简介 上一章节我们简单了解了二级缓存的配置。今天我们详细分析下二级缓存以及为什么不建议使用二级缓存。 一级缓存针对的是sqlsession。二级缓存针对的是namespace层面的。 配置 之前我们已经提到了配置二级缓存以及配置自定义的二级缓存。下面我们从头开始实现二级缓存。 通过上面的 阅读全文
摘要:
[TOC] 前言 映射器之前我们已经提到了,是mybatis特有的组件: java+xml组合的方式。对于Java类和xml的编写也很简单。值得注意的是需要将Java编写的mapper注册到mybatis中来。之前的注册的方式通过xml。到后续通过spirng来管理通过@Mapper就很方便了。 标 阅读全文
摘要:
[TOC] 前言 ObjectFactory是什么有些人可能并不知道。没关系今天我们来看看这个类的作用。首先他是用来创建mybatis结果返回集的。通过它我们能控制创建返回集的节点。 mybatis的ObjectFactory 这个类是通过mybatis config.xml中配置的。提供了 标签给 阅读全文
摘要:
[TOC] 话引 前两张我们分别介绍了Mybatis环境搭建及其组件的生命周期。这些都是我们Mybatis入门必备技能。有了前两篇的铺垫我们今天就来深入下Mybatis, 也为了填下之前埋下的坑。 XML配置标签 概览 上面模板列出了所有xml可以配置的属性。这里plugins是一个让人哭笑不得的东 阅读全文