MyBatisJavaEE开发之记事本完整案例(SpringBoot + iOS端)

上篇博客大家聊了《JavaEE开发之SpringBoot整合MyBatis以及Thymeleaf模板引擎》,并且在前头大家也聊了《斯威·夫特(S·wift)3.0服务端开发(五)
记事本的支付(iOS端+服务端)
》,在前头的案例中的服务端是大家运用了斯维·夫特(Sw·ift)3.0下的Perfect框架来贯彻的,本篇博客大家就用Spring
Boot来做服务端,而iOS端大家绝不改动。

在后端完成时,路由以及数据格式大家都使用以前的规则,但是我们要用Spring
Boot来做。当然操作数据库时,大家就利用MyBatis来进展数据的持久化了。本篇大家就来看一下以此Spring
Boot完整的工程。当然,本篇博客所布置的Spring
Boot是比较简单的,不过用来练手能够了。

本篇博客所涉嫌的机能无非就是局地数额库表的CURD操作,没有啥多难的地点。接下来就来全部的看一下以此工程。

 

一、运行效果体现

尘世这几个Gif效果图,就是我们本篇博客所提到的完整案例的运作效果。单从人间的功用,我们看不出与后边有如何意义,因为咱们的iOS端没有改动。但是下方App的后台确实是运用Spring
Boot来落实的。

先是个页面让用户输入用户名,若是用户名存在,那么就让用户输入密码进行登录,假如不存在就让用户展开挂号。登录仍旧注册后一贯进入App的首页,也就是笔记的列表页面。该列表页显示了眼前用户发表的所有笔记,包含笔记的Title和创立时间。点进去是该笔记的详情页面,可以对其改变操作。在列表的右上角有一个添加按钮,可以用来添加新的笔记。

在列表页中,左滑单元格,会师世删除按钮,点击删除按钮,则对该篇笔记举行删除操作。具体运作效果如下所示。

  MyBatis 1

 

 

二、MyBatis的Mapper实现

有关Spring Boot中哪些引入和安顿MyBatis,在此就不做过多废话了,你可以瞻仰上篇博客。当然,上述Demo的着力操作就是数据库的CURD操作,当然,大家采用的是Spring
Boot下的Mybatis来展开的多少持久化,所以MyBatis的应用是相比较关键的。本有的就详细的聊一下本篇博客所关联的MyBatis的Mapper。下方先交付操成效户user表的Mapper,
然后在介绍操作内容content表的Mapper。

 

1. UserMapper的实现

世间代码段是UserMappper的现实贯彻,首先接纳@Mapper声明将UserMapper接口表明为MyBatis的Mapper。然后在里头付出相应的操作注解。在UserMapper中第一给出了多个Select操作和一个Insert操作。

在执行Select时,使用了#{参数}来往SQL语句中传唱相应的询问条件,使用了@Results()表明来声称表字段与数码Model的属性间的附和关系。假诺没有点名,那么默许情形下表字段名就等于Model的属性名。查询语句再次来到的是带有相应Model的ArrayList。

我们运用@Insert()注明来指定插入语句,并且接纳@Param注明和#MyBatis,{}来绑定参数。具体如下所示。

  MyBatis 2

 

2、INoteContentMapper的实现

看完UserMapper后,大家来看一下INoteContentMapper的现实得以落成。INoteContentMapper就承受操作Content表。下方截图是INoteContentMapper具体落成,其中多了多少个操作,一个是利用@Delete表明注解的删减操作,另一个是选用@Update表明申明的创新操作。下方的落到实处也是相比简单的在此就不做过多废话了。

  MyBatis 3

 

 

三、DAO层的创始

看完相关的Mapper接下来我们来看一下DAO层的兑现,DAO即Data Access
Object,首假若承担操作对象的。我们就以ContentDao为例。下方代码段就是ContentDao中的具体贯彻。在此类中被注入了INoteContentMapper类型的靶子,我们可以应用该目的来操作数据库。

俺们就以queryContent(String
contentId)为例,该格局中就调用了相应Mapper对象的对应措施,按照情节的id来询问相应的始末。而该类中的方法,在取得到相应的目的音信后,对该目的开展了有关操作,并回到。具体代码如下所示。

  MyBatis 4

 

 

四、Controller层的得以已毕

DAO层落成得了后,接下去我们就来促成我们的Controller层。当然,大家依旧以Content的Controller层为例。因为大家的Controller是当做接口也就是API对外使用的,所以大家将ContentRestController使用@RestController举行诠释,那样大家中间将再次来到的报文内容举行再次来到即可。下方代码片段就是大家的ContentRestController中的完成内容。

首先大家要注入ContentDao的目的,然后在对应的路由所对应的法子中来调用DAO中的相应的办法。尽管大家回去的是Map类型,不过Spring
Boot会为我们自行的更换成Json格式的多寡,所以访问该API重临的都是JSON格式的数据。 

  MyBatis 5

 

大家得以对“/contentList”路由进行走访,该路由索要提供一个userId作为查询参数,下方截图就是对userId=1的用户下的具有List举办的查询。

  MyBatis 6

 

今日博客就先介绍到此时吧,下方是本篇博客所波及Demo的源码分享链接。

github分享链接:https://github.com/lizelu/SpringBootProject

 

网站地图xml地图