美文网首页
Spring boot+MyBatis原理及实例

Spring boot+MyBatis原理及实例

作者: 灿烂的GL | 来源:发表于2019-04-20 17:00 被阅读0次

以下先介绍下MyBatis,然后介绍Spring boot框架。


一、MyBatis介绍

MyBatis是一个支持普通SQL查询、存储过程和高级映射的优秀持久层框架(基于ORM架构,即对象到映射),MyBatis是对JDBC的封装。

1、JDBC实现数据库连接

基本操作及接口.png

2、MyBatis实现数据库连接
MyBatis通过自己的框架来实现数据库连接,先看下它的基本组件以及如何实现JDBC封装:

MyBatis中主要部件.png
我们在Java的项目中只需要在pom中引入MyBatis,再通过修改其配置文件(mapper.xml)即可实现数据的连接调用,整个模型框架思想如下:
MyBatis框架实现.png
经常会遇见连不上数据库的问题,请仔细检查配置项(比如:配置文件置顶不要有空格;配置项正确;sql和本地数据类型对应;层级调用正确...)

二、Spring boot介绍
Spring boot是目前Java比较流行的一个框架,介绍前先简单介绍下Maven和Java的关系。Java程序必然涉及配置依赖文件pom.xml。pom.xml包含项目需要的配置信息、依赖项等,主要是由Maven进行管理。

为什么用Maven?
通常对于web应用服务器、文件服务器、db 等,我们要开发这些模块,需要先把他们各自需要依赖的jar包或者项目下载打包好,然后配置到项目的classpath中。这些应用在运行单元测试pr编译or部署的时候,需要依赖本地的一些配置,比如jdk、web容器等,这样我们将项目分享出去的时候,别人要使用就有一定的配置门槛。maven 就可以解决以上问题,它可以构建和管理任何基于 Java 的项目的工具(对于pom.xml文件中详细配置参考[2]

1、Java简介
类加载过程

类加载过程.png
注解
Java注解-超详细教程(附源码)

2、Spring框架简介
主要参考:Spring框架的AOP/IOC/容器核心原理实例详解
Spring框架主要可以分为3个核心内容:
1)容器
2)控制反转(IoC ,Inversion ofControl)
3)面向切面编程(AOP ,Aspect-OrientedProgramming)
下边是作者举的一个例子的流程,可以帮助理解整个框架的演变过程,具体code和配置文件参考上边的链接。

实例流程.png
实例流程.png
以上即为Spring框架设计实现的整个流程。

3、Spring boot+Batista实例
想要实现的功能:在web页面输入指定信息,返回数据库信息。
需要做的是本地数据库建用户信息表,再网页上输入用户id可以返回用户其他信息。
简介MVC
Spring MVC的框架如下,其中箭头标注的是我们要建的项目的数据流过程。

整个数据流以及我标的数据流.png
项目中涉及的主要层如下:
层介绍.png

搭建框架过程参考链接[5]
搭建好后对其中的子文件简析如下:
创建好spring项目后会自动生成的启动类,对spring boot框架注释不懂得可以参考文末连接[9]

启动类.png
环境配置项.png
整个调用过程就是上面的MVC的架构调用过程,其中接口的代码也可自动生成,可参考:使用MyBatis Generator自动创建代码
最底层的User.java用的是bean类导入的,bean类支持get/set等方法
entity包中我们的bean.png
映射文件
mybatis配置文件.png
MVC框架采用注解的方式进行扫描,只需要用对象获取他的方法
controller.png

三、小结
以上的介绍应该对整个Spring boot+MyBatis框架以及相关基础知识有了基础了解,后面就实际应用方面会增加介绍。最近入门Java,以上若有不当欢迎指正。


参考
[1] 使用JDBC连接数据库(一)
[2] 《深入理解mybatis原理》 MyBatis的架构设计以及实例分析
[3] Maven之pom.xml与setting.xml配置文件详解
[4] 使用maven来管理java项目
[5] SpringBoot整合Mybatis完整详细版
[6]Spring Boot干货系列:(三)启动原理解析
[7]SpringMVC框架理解
[8] Java bean 是个什么概念
[9]SpringBoot注解最全详解(整合超详细版本)
[10] MyBatis映射文件UserMapper.xml(mysql环境)

相关文章

网友评论

      本文标题:Spring boot+MyBatis原理及实例

      本文链接:https://www.haomeiwen.com/subject/hqjtgqtx.html