- 时间:2021-02-23 10:27 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:Spring boot集成Mybatis的方法教程
[b]本章目标[/b]
[list]
[*]整合 Mybatis ,并集成 Druid 数据源[/*]
[*]可视化监控 Druid 数据源[/*]
[*]使用 JPA 生成数据表[/*]
[*]利用注解实现数据库的事物[/*]
[*]利用注解动态配置数据源[/*]
[*]全局异常捕获[/*]
[*]校验请求参数,并将错误信息以JSON 格式返回[/*]
[*]完成了对 Dao Service Mapper 的封装[/*]
[*]集成 log4j2
[/*]
[/list]
[b]为何 Mybatis[/b]
为何选择 Mybatis,最主要的原因大概有以下几点
[list]
[*]它的动态绑定用起来特别爽[/*]
[*]基本上是在写原生的 SQL 语句,看着也是很舒服,如果 SQL 写得好的话,后期维护什么的一眼就能看得明白。[/*]
[*]个人工作所在的公司用的都是 Mybatis ,所以比较顺手
[/*]
[/list]
[b]项目启动方法[/b]
[list]
[*]直接运行 web 下的 Application 方法[/*]
[*]使用 Maven 打包 mvn clean install package ,然后进入 web 项目内,执行[code] java -jar target/web-1.0-SNAPSHOT-exec.jar[/code]
[/*]
[/list]
部分效果预览
项目结构图
[img]http://files.jb51.net/file_images/article/201704/2017428112135259.png?2017328112146[/img]
验证请求参数
[img]http://files.jb51.net/file_images/article/201704/2017428112205332.png?2017328112242[/img]
参数验证成功
[img]http://files.jb51.net/file_images/article/201704/2017428112300615.png?2017328112326[/img]
Druid 数据源监控
[img]http://files.jb51.net/file_images/article/201704/2017428112348782.png?2017328112358[/img]
[img]http://files.jb51.net/file_images/article/201704/2017428112415446.png?2017328112441[/img]
[b]特别说明[/b]
1、本文的 Druid 监控部分配置参考文章 [url=http://www.1sucai.cn/article/111561.htm]Spring Boot 使用 Druid 和监控配置[/url]
Druid 的更多资料请参考 [url=https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98]Druid 官方中文 Wiki[/url]
2、多数据源的实现方式借鉴了 [url=http://www.1sucai.cn/article/111535.htm]Spring Boot多数据源配置与使用[/url],和博主不同的是,这里我使用了注解方式实现。
3、在实现该 demo 的过程中,踩了非常多的坑,最大的就是项目打成 Jar 包后,获取不到 xml 等资源文件,上网搜索了很多资料,最后通过 SpringBootVFS 的方式解决该问题。
4、注意如果你的启动类需要在其他文件的上层,如果不是,那么启动类需要手动添加扫描文件。
5、其中一些工具类用的是原先代码中的,直接搬过去就是了。
6、要开启 JPA 注解生成数据表的话,需要将 Model 类中的 @Entity 注解开启
7、如果不需要 log4j2 的,可以把 application.yml 对应的配置删除
由于本章的代码较多,配置也比较繁琐,所以这里就不一一解释了,代码中有比较清晰的注释。
另外对于本章的代码,另外开了个 [url=https://github.com/yuhuanxi/smdemo]Repository [/url],同样大家可以通过[url=http://xiazai.jb51.net/201704/yuanma/smdemo-master(jb51.net).rar]本地[/url]进行下载学习。
[b]总结[/b]
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。