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