Spring boot+MyBatis原理及实例

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


一、MyBatis介绍

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

1、JDBC实现数据库连接

Spring boot+MyBatis原理及实例_第1张图片
基本操作及接口.png

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

Spring boot+MyBatis原理及实例_第2张图片
MyBatis中主要部件.png

我们在Java的项目中只需要在pom中引入MyBatis,再通过修改其配置文件(mapper.xml)即可实现数据的连接调用,整个模型框架思想如下:
Spring boot+MyBatis原理及实例_第3张图片
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简介
类加载过程

Spring boot+MyBatis原理及实例_第4张图片
类加载过程.png

注解
Java注解-超详细教程(附源码)

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

Spring boot+MyBatis原理及实例_第5张图片
实例流程.png

Spring boot+MyBatis原理及实例_第6张图片
实例流程.png

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

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

Spring boot+MyBatis原理及实例_第7张图片
整个数据流以及我标的数据流.png

项目中涉及的主要层如下:
Spring boot+MyBatis原理及实例_第8张图片
层介绍.png

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

Spring boot+MyBatis原理及实例_第9张图片
启动类.png

Spring boot+MyBatis原理及实例_第10张图片
环境配置项.png

整个调用过程就是上面的MVC的架构调用过程,其中接口的代码也可自动生成,可参考: 使用MyBatis Generator自动创建代码
最底层的User.java用的是bean类导入的,bean类支持get/set等方法
Spring boot+MyBatis原理及实例_第11张图片
entity包中我们的bean.png

映射文件
Spring boot+MyBatis原理及实例_第12张图片
mybatis配置文件.png

MVC框架采用注解的方式进行扫描,只需要用对象获取他的方法
Spring boot+MyBatis原理及实例_第13张图片
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原理及实例)