Spring boot集成Mybatis的方法教程
作者:huanxi 发布时间:2023-11-25 06:20:41
本章目标
整合 Mybatis ,并集成 Druid 数据源
可视化监控 Druid 数据源
使用 JPA 生成数据表
利用注解实现数据库的事物
利用注解动态配置数据源
全局异常捕获
校验请求参数,并将错误信息以JSON 格式返回
完成了对 Dao Service Mapper 的封装
集成 log4j2
为何 Mybatis
为何选择 Mybatis,最主要的原因大概有以下几点
它的动态绑定用起来特别爽
基本上是在写原生的 SQL 语句,看着也是很舒服,如果 SQL 写得好的话,后期维护什么的一眼就能看得明白。
个人工作所在的公司用的都是 Mybatis ,所以比较顺手
项目启动方法
直接运行 web 下的 Application 方法
使用 Maven 打包 mvn clean install package ,然后进入 web 项目内,执行
java -jar target/web-1.0-SNAPSHOT-exec.jar
部分效果预览
项目结构图
验证请求参数
参数验证成功
Druid 数据源监控
特别说明
1、本文的 Druid 监控部分配置参考文章 Spring Boot 使用 Druid 和监控配置
Druid 的更多资料请参考 Druid 官方中文 Wiki
2、多数据源的实现方式借鉴了 Spring Boot多数据源配置与使用,和博主不同的是,这里我使用了注解方式实现。
3、在实现该 demo 的过程中,踩了非常多的坑,最大的就是项目打成 Jar 包后,获取不到 xml 等资源文件,上网搜索了很多资料,最后通过 SpringBootVFS 的方式解决该问题。
4、注意如果你的启动类需要在其他文件的上层,如果不是,那么启动类需要手动添加扫描文件。
5、其中一些工具类用的是原先代码中的,直接搬过去就是了。
6、要开启 JPA 注解生成数据表的话,需要将 Model 类中的 @Entity 注解开启
7、如果不需要 log4j2 的,可以把 application.yml 对应的配置删除
由于本章的代码较多,配置也比较繁琐,所以这里就不一一解释了,代码中有比较清晰的注释。
另外对于本章的代码,另外开了个 Repository ,同样大家可以通过本地进行下载学习。
来源:https://huanxi.pub/2016/12/30/springboot_mybatis/


猜你喜欢
- 工欲善其事,必先利其器,对于想要深入学习Android源码,必须先掌握Android编译命令.一、引言关于Android Build系统,这
- 现在很多应用都会用到悬浮窗,很多国产rom把悬浮窗权限加入控制了,你就需要判断是否有悬浮窗权限,然后做对应操作。Android 原生有自带权
- 本文主要介绍了Android 获取屏幕的多种宽高信息的示例代码,分享给大家,具体如下:包含的宽高信息如下图所示:在模拟器上获取到的数据:08
- Android 控制WIFI相关操作WIFI的全称是Wireless Fidelity,又称802.11b标准,是一种高速的无线通信协议,传
- 一、为什么按值调用和按引用调用?方法或函数可以通过两种方式调用。一种是按值调用,另一种是按引用调用,这两种方式通常根据作为输入或参数传递给它
- 一、前言装饰模式实际上是一直提倡的组合代替继承的实践方式,个人认为要理解装饰者模式首先需要理解为什么需要组合代替继承,继承又是为什么让人深恶
- 在熟悉hutool工具包时出现的关于Assert.assertEquals()的报错及其解决方法前提(也是主要问题)用testCompile
- 最近有个老项目想逐步将新业务的数据放到新的数据库,以前的业务还得连接以前的数据库,于是需要整合多数据源 。多数据源实际上是继承了Abstra
- 一 :问题背景问题:当查询接口较复杂时候,数据的获取都需要[远程调用],必然需要花费更多的时间。 假如查询文章详情页面,需要如下标注的时间才
- 最近刚完成一个简单的网络爬虫,开始的时候很迷茫,不知道如何入手,后来发现了很多的资料,不过真正能达到我需要,有用的资料--代码很难找。所以我
- Java8 LocalDateTime与timestamp转换将timestamp转为LocalDateTimepublic LocalDa
- 本文实例为大家分享了Android实现QQ图片说说照片选择的具体代码,供大家参考,具体内容如下效果展示布局文件布局是很简单的,一个GridV
- 问题:Kotlin升级引起的类找不到情况[其实跟Kotlin版本无关]java.lang.NoClassDefFoundError: Fai
- 本文实例为大家分享了Android实现掷骰子效果的具体代码,供大家参考,具体内容如下利用handler接受子线程的消息完成骰子点数的不断更替
- 电商项目中经常有这样的需求:在商品列表页面中,切换列表的展现形式,一般分为列表形式和表格形式。如京东:本文最终实现的效果:关键词:Recyc
- 本文实例为大家分享了Java实现坦克大战小游戏的具体代码,供大家参考,具体内容如下创作背景:n年前的学期末课题设计,从b站上学的,一个代码一
- 一、简介当我们没有在子类构造函数中写上 base(),默认会先调用父类中无参的构造函数,再调用子类。当在有参构造函数后写上base时,只调用
- 本文实例为大家分享了Android实现竖直跑马灯效果的具体代码,供大家参考,具体内容如下首先给出跑马灯效果图中间的色块是因为视频转成GIF造
- 使用场景:自己项目对接多个外部系统,各个外部系统使用的字段并没有统一,所以要根据不同系统动态的输出序列化数据,使适应各个系统的要求实现方式使
- TimeLineStepView支持时间轴和StepView,三种布局,支持水平布局,垂直布局和自定义布局,截图如下