摘要: MyBatis 的整体架构分为三层, 分别是基础支持层、核心处理层和接口层,如下图所示。 基础支持层 反射模块 该模块对 Java 原生的反射进行了良好的封装,提供了更加简洁易用的 API ,方便上层使调用,并且对反射操作进行了一系列优化,例如缓存了类的元数据,提高了反射操作的性能。 类型转换模块 阅读全文
posted @ 2019-10-29 10:20 殷建卫 阅读(398) 评论(0) 推荐(0) 编辑
摘要: MyBatis 的动态 SQL 包括以下几种元素: 详细的使用参考官网文档:http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html 本章内容简单描述这些动态 SQL 在使用的过程中需要注意的地方。 choose, when, otherwise 比如 阅读全文
posted @ 2019-10-29 10:04 殷建卫 阅读(278) 评论(0) 推荐(0) 编辑
摘要: MyBatis 提供两种类型的缓存,一种是一级缓存,另一种是二级缓存,本章通过例子的形式描述 MyBatis 缓存的使用。 测试类:com.yjw.demo.CacheTest 一级缓存 MyBatis 默认开启一级缓存。一级缓存是相对于同一个 SqlSession 而言的,所以在参数和 SQL 完 阅读全文
posted @ 2019-10-29 10:02 殷建卫 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 简介 MyBatis 提供了两种联合查询的方式,一种是嵌套查询,一种是嵌套结果。先说结论:在项目中不建议使用嵌套查询,会出现性能问题,可以使用嵌套结果。 测试类:com.yjw.demo.JointQueryTest,提供了对嵌套查询和嵌套结果的测试。 数据库表模型关系 学生信息级联模型关系:链接 阅读全文
posted @ 2019-10-29 10:00 殷建卫 阅读(6123) 评论(0) 推荐(0) 编辑
摘要: 简介 利用 MyBatis Plugin 插件技术实现分页功能。 分页插件实现思路如下: 业务代码在 ThreadLocal 中保存分页信息; MyBatis Interceptor 拦截查询请求,获取分页信息,实现分页操作,封装分页列表数据返回; 测试类:com.yjw.demo.PageTest 阅读全文
posted @ 2019-10-29 09:57 殷建卫 阅读(492) 评论(1) 推荐(0) 编辑
摘要: 测试类:com.yjw.demo.PrimaryKeyTest 自增长列 数据库表的主键为自增长列,在写业务代码的时候,经常需要在表中新增一条数据后,能获得这条数据的主键 ID,MyBatis 提供了实现的方法。 StudentMapper.xml <insert id="insertByAutoI 阅读全文
posted @ 2019-10-29 09:53 殷建卫 阅读(862) 评论(0) 推荐(0) 编辑
摘要: 映射器的主要元素: 本章介绍 select 元素中传递多个参数的处理方式。 测试类:com.yjw.demo.MulParametersTest 使用 Map 传递参数(不建议使用) 使用 MyBatis 提供的 Map 接口作为参数来实现。 StudentDao /** * 使用 Map 传递参数 阅读全文
posted @ 2019-10-29 09:48 殷建卫 阅读(1012) 评论(0) 推荐(0) 编辑
摘要: MyBatis 提供了很多默认类型处理器,参考官网地址:链接,除了官网提供的类型处理器,我们也可以自定义类型处理器。 具体做法为:实现 org.apache.ibatis.type.TypeHandler 接口, 或继承 org.apache.ibatis.type.BaseTypeHandler  阅读全文
posted @ 2019-10-29 09:47 殷建卫 阅读(725) 评论(0) 推荐(0) 编辑
摘要: 简介 为了全面熟悉 MyBatis 的使用,整理一个 MyBatis 的例子,案例中包含了映射器、动态 SQL 的使用。本章先介绍项目结构和配置。 项目地址:链接 数据库表的模型关系:链接 项目结构 项目框架:Spring Boot、MyBatis、Mybatis-PageHelper、Druid、 阅读全文
posted @ 2019-10-29 09:46 殷建卫 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 简介 什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Pla 阅读全文
posted @ 2019-10-29 09:45 殷建卫 阅读(684) 评论(0) 推荐(0) 编辑