上一篇博文介绍了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
,可以减少令人窒息的配置
1 | <parent> |
2. 配置信息
在 application.yml
配置文件中,加一下db的相关配置
1 | spring: |
接下来准备一个测试表(依然借用之前db操作系列博文中的表结构),用于后续的CURD;表结果信息如下
1 | DROP TABLE IF EXISTS `money`; |
II. 实例整合
在前一篇的基础上进行扩展,重点在于干掉了xml文件,在DAO接口上通过注解来实现CURD
1. PO
创建表对应的PO对象: MoneyPo
1 |
|
2. DAO接口
表的操作接口,下面简单的写了四个接口,分别对应CRUID四种操作
1 |
|
从mapper的实现上,也可以看出来,通过 @Insert
, @Select
, @Update
, @Delete
四个注解来实现CURD,使用上面这种方式时,有几个点需要注意
- insert: 当我们希望插入的主键写回到PO时,可以配置
@Options(useGeneratedKeys = true, keyProperty = "po.id", keyColumn = "id")
- 动态sql: 在注解中,通过
<script>
来包装动态sql - @Results 实现
<resultMap>
的映射关系
5. 测试
接下来简单测试一下上面的四个接口,看是否可以正常工作
启动类
1 |
|
测试类
1 |
|
输出结果
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
Gitalking ...