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知识梳理之泛型用法详解

    Java知识梳理之泛型用法详解

    从JDK 5.0以后,Java引入了“参数化类型(Parameterized type)”的概念,允许我们在创建集合时再指定集合元素的类型。本文就来和大家深入聊聊Java泛型的使用
    2022-08-08
  • SpringBoot中如何启动Tomcat流程

    SpringBoot中如何启动Tomcat流程

    这篇文章主要介绍了SpringBoot中如何启动Tomcat流程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 解决idea web 配置相对路径问题

    解决idea web 配置相对路径问题

    这篇文章主要介绍了idea web 配置相对路径问题的解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • java格式化数字操作 NumberFormat及DecimalFormat

    java格式化数字操作 NumberFormat及DecimalFormat

    这篇文章主要介绍了java格式化数字操作 NumberFormat及DecimalFormat,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • JavaWeb工程web.xml基本配置过程解析

    JavaWeb工程web.xml基本配置过程解析

    这篇文章主要介绍了JavaWeb工程web.xml基本配置过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • java中封装的实现方法详解

    java中封装的实现方法详解

    在本篇文章里我们给大家详细分享了关于java中封装的实现方法,有需要的朋友们跟着学习下。
    2018-10-10
  • Java多线程(单例模式,阻塞队列,定时器,线程池)详解

    Java多线程(单例模式,阻塞队列,定时器,线程池)详解

    本文是多线程初级入门,主要介绍了多线程单例模式、阻塞队列、定时器、线程池、多线程面试考点,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-09-09
  • MyBatis的通俗理解:SqlSession.getMapper()源码解读

    MyBatis的通俗理解:SqlSession.getMapper()源码解读

    这篇文章主要介绍了MyBatis的通俗理解:SqlSession.getMapper()源码解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 如何使用Spring Boot ApplicationRunner解析命令行中的参数

    如何使用Spring Boot ApplicationRunner解析命令行中的参数

    这篇文章主要介绍了使用Spring Boot ApplicationRunner解析命令行中的参数,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-12-12
  • IDEA连接MySQL提示serverTimezone的问题及解决方法

    IDEA连接MySQL提示serverTimezone的问题及解决方法

    很多朋友私聊小编,使用IDEA软件连接MySQL数据库时总是提示Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.的错误,小编就不一一回复大家了,下面小编把我的解决方法分享到脚本之家平台,需要的朋友参考下吧
    2021-05-05

最新评论