您的位置:首页 > 移动开发

Spring Boot干货系列:(十一)数据存储篇-Spring Boot整合Mybatis通用Mapper插件

2017-12-20 00:00 337 查看

前言

上次介绍了Spring Boot中Mybatis的简单整合,本篇深入来结合通用Mapper、Mybatis Geneator以及分页PageHelper来打造适合企业开发的模板框架。

正文

项目框架还是跟上一篇一样使用Spring Boot的ace后端模板,不过最近在使用vue,所以前端引用了vue进来改写,代码变得更加简洁。项目配置:Spring Boot: 1.5.9.RELEASE
Maven: 3.5
Java: 1.8
Thymeleaf: 3.0.7.RELEASE
Vue.js: v2.5.11

数据源依赖

这里我们还是使用阿里巴巴的druid来当数据库连接池,发现这个有对应的监控界面,我们可以开启。
druid官方文档:https://github.com/alibaba/druid/wiki/常见问题

对应的application.properties配置:


对应的bean配置:








mybatis相关依赖






上面引入了mybatis相关的一些依赖以及generator的配置,这里generator配置文件指向
src/main/resources/mybatis-generator.xml文件,具体一会贴出。对应的application.properties配置:



通用Mapper配置

通用Mapper都可以极大的方便开发人员,对单表封装了许多通用方法,省掉自己写增删改查的sql。
通用Mapper插件网址:https://github.com/abel533/Mapper

这里实现一个自己的接口,继承通用的mapper,关键点就是这个接口不能被扫描到,不能跟dao这个存放mapper文件放在一起。最后在启动类中通过MapperScan注解指定扫描的mapper路径:



MyBatis Generator配置

这里配置一下上面提到的mybatis-generator.xml文件,该配置文件用来自动生成表对应的Model,Mapper以及xml,该文件位于
src/main/resources
下面
Mybatis Geneator 详解: http://blog.csdn.n 4000
et/isea533/article/details/42102297



其中,我们通过
<propertiesresource="application.properties"/>
引入了配置文件,这样下面指定数据源的时候不用写死。其中tk.mybatis.mapper.generator.MapperPlugin很重要,用来指定通用Mapper对应的文件,这样我们生成的mapper都会继承这个通用Mapper


这样就可以通过mybatis-generator插件生成对应的文件啦

如果不是IDEA开发环境也可以直接通过命令:mvn mybatis-generator:generate自动生成的文件如下图所示


脚本初始化



Controller层

到此为止,基本的配置结束了,我们开始实现业务的逻辑,Controller层代码如下




通用Service

正常情况下具体业务是每个模块的service里面定义许多方法,然后mapper中实现。但是博主查看插件文档后发现一个通用Mapper在Spring4中的最佳用法。那就是通用的Service。
具体可以查看这里了解:https://gitee.com/free/Mapper2/blob/master/wiki/mapper/4.Spring4.md定义通用service接口

具体实现通用接口类




到此基本的增删改查通用service就写好了,具体业务的service就直接继承这个接口即可,也可以添加额外的方法,例如:


具体实现service


可以看到,具体LearnServiceImpl这边就实现了2个方法,其他的都使用了通用service的,在开发上剩下了许多功夫。

Mapper相关

在自动生成的mapper文件中实现sevice自定义的方法:

LearnResourceMapper.xml:


IDEA可以安装这个插件,这样就可以直接从Mapper文件跳转到xml了



最终项目效果如下,增删改查分页一个都不少:

上面提到druid有对应的监控界面,启动项目后输入http://localhost:8090/spring/druid 即可登录,界面效果如下


总结

到此,一套适合企业级开发的Spring Boot应用模板就好了,Mybatis+通用Mapper、Mybatis Geneator确实可以省下很多开发成本,提高效率。前端整合了vue.js,具体看源码。想要查看更多Spring Boot干货教程,可前往:Spring Boot干货系列总纲

源码下载

( ̄︶ ̄)↗[相关示例完整代码]chapter11==》Spring Boot干货系列:(十一)数据存储篇-Spring Boot整合Mybatis通用Mapper插件

想要ace模板源码的话,在博主公众号回复关键字:ace一直觉得自己写的不是技术,而是情怀,一篇篇文章是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你少走弯路,希望我能帮你抹去知识的蒙尘,希望我能帮你理清知识的脉络,希望未来技术之巅上有你也有我。博主最近发起了《嘟爷电子书互惠组》计划,里面包含了《MyBatis从入门到精通__刘增辉》相关书籍在内的至少194本Java相关的电子书,也有博主花钱买的电子书。可谓新手必备之物,详情可前往博客书单末尾查看: Java后端2017书单推荐
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐