Spring boot集成Mybatis的方法教程

 更新时间:2017年04月28日 11:28:35   作者:huanxi  
这篇文章主要给大家介绍了Spring boot集成Mybatis的方法教程,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

本章目标

  • 整合 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 ,同样大家可以通过本地进行下载学习。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Java处理时间格式CST和GMT转换方法示例

    Java处理时间格式CST和GMT转换方法示例

    这篇文章主要给大家介绍了关于Java处理时间格式CST和GMT转换方法的相关资料,相信很多小伙伴在时间格式转换的时候非常头疼,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • hibernate查询缓存详细分析

    hibernate查询缓存详细分析

    这篇文章主要介绍了hibernate查询缓存详细分析,包括查询缓存配置方法及关闭二级缓存的详细介绍,需要的朋友参考下本文吧
    2017-09-09
  • Springboot2.x+Quartz分布式集群的实现

    Springboot2.x+Quartz分布式集群的实现

    这篇文章主要介绍了Springboot2.x+Quartz分布式集群的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 详解利用Spring加载Properties配置文件

    详解利用Spring加载Properties配置文件

    本篇文章主要介绍了详解利用Spring加载Properties配置文件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 初识Java8中的Stream

    初识Java8中的Stream

    lambda表达式是stream的基础,接下来通过实例代码给大家详细介绍java8中的stream,感兴趣的朋友一起看看吧
    2017-08-08
  • Java的函数式编程详解

    Java的函数式编程详解

    用了这么久的Java8,我寻思这种话也好意思说出来吗,难道自己是PythonBoy出身就是看不懂Java的理由吗,身为一个合格的后端Boy不会还有人看不明白Java的函数式编程吧,接下来小编和大家浅聊一下Java的函数式编程,需要的朋友可以参考下
    2023-10-10
  • 浅谈JAVA字符串匹配算法indexOf函数的实现方法

    浅谈JAVA字符串匹配算法indexOf函数的实现方法

    这篇文章主要介绍了浅谈字符串匹配算法indexOf函数的实现方法,indexOf函数我们可以查找一个字符串(模式串)是否在另一个字符串(主串)出现过。对此感兴趣的可以来了解一下
    2020-07-07
  • IDEA编译时报常量字符串过长的解决办法

    IDEA编译时报常量字符串过长的解决办法

    本文主要介绍了IDEA编译时报常量字符串过长的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • kafka springBoot配置的实现

    kafka springBoot配置的实现

    本文主要介绍了kafka springBoot配置的实现,通过详细解析Spring Boot for Apache Kafka的配置选项,以及如何优化Kafka生产者和消费者的属性设置,感兴趣的可以了解一下
    2023-11-11
  • Java实现动态代理的实例代码

    Java实现动态代理的实例代码

    代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等,这篇文章主要给大家介绍了关于Java实现动态代理的相关资料,需要的朋友可以参考下
    2021-09-09

最新评论