上一篇博文介绍了 SpringBoot 整合 mybatis 的过程,但是 xml 的方式,总感觉让人有点蛋疼;本文将介绍一种 noxml 的使用姿势,纯用注解的方式来支持 CURD
I. 环境
本文使用 SpringBoot 版本为 2.2.1.RELEASE
, mybatis 版本为1.3.2
,数据库为 mysql 5+
1. 项目搭建
推荐是用官方的教程来创建一个 SpringBoot 项目; 如果直接创建一个 maven 工程的话,将下面配置内容,拷贝到你的pom.xml
中
- 主要引入的是
mybatis-spring-boot-starter
,可以减少令人窒息的配置
2. 配置信息
在 application.yml
配置文件中,加一下 db 的相关配置
接下来准备一个测试表(依然借用之前 db 操作系列博文中的表结构),用于后续的 CURD;表结果信息如下
II. 实例整合
在前一篇的基础上进行扩展,重点在于干掉了 xml 文件,在 DAO 接口上通过注解来实现 CURD
1. PO
创建表对应的 PO 对象: MoneyPo
2. DAO 接口
表的操作接口,下面简单的写了四个接口,分别对应 CRUID 四种操作
从 mapper 的实现上,也可以看出来,通过 @Insert
, @Select
, @Update
, @Delete
四个注解来实现 CURD,使用上面这种方式时,有几个点需要注意
- insert: 当我们希望插入的主键写回到 PO 时,可以配置
@Options(useGeneratedKeys = true, keyProperty = "po.id", keyColumn = "id")
- 动态 sql: 在注解中,通过
<script>
来包装动态 sql - @Results 实现
<resultMap>
的映射关系
5. 测试
接下来简单测试一下上面的四个接口,看是否可以正常工作
启动类
测试类
输出结果
II. 其他
0. 项目
- 工程:https://github.com/liuyueyi/spring-boot-demo
- 项目源码: https://github.com/liuyueyi/spring-boot-demo/tree/master/spring-boot/104-mybatis-noxml
1. 一灰灰 Blog
尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现 bug 或者有更好的建议,欢迎批评指正,不吝感激
下面一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
- 一灰灰 Blog 个人博客 https://blog.hhui.top
- 一灰灰 Blog-Spring 专题博客 http://spring.hhui.top