摘要:
1. 前言 spring-boot 可谓是 Java 领域中最火的框架之一, 也是目前 Java 应用开发的事实标准,如果不会使用未免有些 out。本小节,我们将一起学习如何使用 spring-boot 来集成 MyBatis。 项目初始化 对于拥有 IDEA 专业版的人来说,新建 spring-b 阅读全文
摘要:
1. 前言 在MyBatis 缓存一节中,我们介绍了 MyBatis 的多级缓存。MyBatis 的二级缓存可在多个会话中共享缓存,但是这也加大了内存的使用空间,如果二级缓存空间占有量过多势必会导致程序运行空间的不足,因此我们需要将二级缓存转移到专业的缓存服务器上。 Redis 是一个高性能的 kv 阅读全文
摘要:
1. 前言 MyBatis 允许我们以插件的形式对已映射语句执行过程中的某一点进行拦截调用,通俗一点来说,MyBatis 的插件其实更应该被称作为拦截器。 MyBatis 插件的使用十分广泛,分页、性能分析、乐观锁、逻辑删除等等常用的功能都可以通过插件来实现。既然插件如此好用,本小节我们就一起来探索 阅读全文
摘要:
1. 前言 MyBatis 提供了诸多类型处理器,但是相较于丰富的数据库类型仍然略显不足,比如 MyBatis 只能将 JSON 数据类型当成普通的字符串处理。因此 MyBatis 提供了类型处理器接口,让开发者可以根据具体的业务需求来自定义适合的类型处理器。 本小节,我们将以 JSON 类型处理器 阅读全文
摘要:
1. 前言 频繁地查询必然会给数据库带来巨大的压力,为此 MyBatis 提供了丰富的缓存功能。缓存可以有效的提升查询效率、缓解数据库压力,提高应用的稳健性。 MyBatis 的缓存有两层,默认情况下会开启一级缓存,并提供了开启二级缓存的配置。本小节我们将一起学习 MyBatis 的缓存,充分地了解 阅读全文
摘要:
configuration结构 - properties(属性) - settings(设置) - typeAliases(类型别名) - typeHandlers(类型处理器) - objectFactory(对象工厂) - plugins(插件) - environments(环境配置) - e 阅读全文
摘要:
在注解中使用动态 SQL 其实十分简单,只需在动态 SQL 语句的外面包上一层script标签即可。如下: @Select({"<script>", "SELECT * FROM imooc_user", " WHERE", " <choose>", " <when test='id != null 阅读全文
摘要:
foreach 标签用来遍历数组、列表和 Map 等集合参数,常与 in 关键字搭配使用。 遍历列表 <select id="selectUserInIds" resultType="com.imooc.mybatis.model.User"> SELECT * FROM imooc_user WH 阅读全文
摘要:
where、set、trim 三个标签都是为了解决 MyBatis 在动态生成 SQL 时,产生了多余的前缀和后缀的问题。 where实例 <select id="selectUserByIdAndName" resultType="com.imooc.mybatis.model.User"> SE 阅读全文
摘要:
choose 标签相当于编程语言 if…else 语句,用于动态 SQL 中的多条件判断,是 if 标签的增强版。 bind 标签可以在动态 SQL 中通过 OGNL 表达式来创建一个新的变量绑定到上下文中,供后续的 SQL 使用。 <select id="selectUserByLikeName" 阅读全文