当前位置:网站首页 > 技术博客 > 正文

spring boot增删改查项目



在这里插入图片描述
根据上图所示,idea中我们有7个比较重要的模块需要建立
(1)controller包:如果学习过或者对SpringMVC有所了解的小伙伴,肯定知道,controller是控制层,相当于我们的接收浏览器信息并响应发送相关信息的地方,具体的还结合计算机网络相关知识,了解在浏览器中如何接收信息,并如何响应信息,在controller控制层下我们实现相关数据操纵(此处特别鸣谢我研究生生涯阶段的师兄给我讲解了很久关于Web编程方面的知识,收益良多。希望大家利用相关时间,多去查询资料和相关视频进行学习);
(2)entity包:这里存放我们的实体类,跟单纯学java里面建立类一模一样,没有区别;
(3)mapper包:SpringMVC中称之为持久层也就是(DAO层(数据访问对象)),这里可以直接对数据库进行操作,一般与第五个包mapping包连用;
(4)service包:SpringMVC中称之为业务逻辑层,所以这里存放的类都是处理相关的业务逻辑;
(5)mapping包:放在resources下面作为classpath,存放的mybatis文件,因为现在的SpringBoot集成性很强,把很多配置文件都可以放在一块,哪怕是没有太多的mybatis基础的小伙伴也可以进行学习。之所以说mapper包与mapping包是一起连用,是因为它们形成映射关系,它们两的结合使用来访问我们的数据库文件;
(6)application.yml:作为全局默认配置文件,适用于整个项目,要整合我们这么多的配置信息,这个配置文件肯定少不了(此处最好是使用yaml语言编写配置文件,因为编写相对而言简单明朗一些);
(7)application-dev.yml:这个算是具体某个环境的配置文件,具体要结合我们的实际项目。因为项目本身不只是开发环境,还有测试、生产等一系列环境。当我们做开发是用开发的环境配置application-dev.yml,当我们做测试的时候用测试的环境配置application-test.yml,当我们做生产的时候用的是生产的环境配置application-pro.yml。目前我们暂时只说开发环境,所以就只用到了一个配置文件application-dev.yml。具体的某个环境配置信息在使用时会覆盖applicaiton.yml的默认配置,所以,不用担心默认配置中的语句与环境配置中的语句发生冲突。

每个java程序都有程序入口,DemoApplication本身在我们初始化SpringBoot时就已经存在了,我们在这里不需要做过多的配置。(关于初始化一个SpringBoot框架,我单独写了一篇博客进行讲解,可以点击链接进行了解:SpringBoot_初始化demo)
在这里插入图片描述

 

在这里插入图片描述
在这里插入图片描述
●相应的sql创建表语句如下所示:

 

在这里插入图片描述

 

●这里想必大家不会陌生,这是纯Java基础都能编写出来的类,建立三个私有属性,一个空参构造器,相应的get、set方法,还重写了一个toString()方法。这里值得注意的点是在声明属性时,最好是使用包装类进行声明。
●在Java中跟mybatis相关的读取与录入,为何尽量使用包装类而不使用基本数据类型呢?
①在MySQL中没有给字段赋值默认为null,当你从数据库中查出来也是null,如果该字段在对应的Java代码中是int类型,null不能对应int类型,因为int代表的是基本数据类型,只能是基本的数字。
②实体类的属性可以给它赋值也可以不给它赋值,当你不给它赋值时,它拥有默认值,比如int的默认值就为0。但是主动为它设置值为0与它默认为0是两个不同的概念。比如,一个班的成绩:0代表某学生分数为0,而null代表这个学生该门考试没有成绩,这是两个不同的概念。

在这里插入图片描述

 
 

mapper namespace用于绑定mapper接口的,当你的namespace绑定接口后,你可以不用写接口实现类,mybatis会通过该绑定自动帮你找到对应要执行的SQL语句(通过mapper方法名进行绑定);
resultMap 定义了一个id为BaseResultMap的标识,type代表使用哪种类作为我们所要映射的类;
●在这里中的id = “xxx” ,必须要和mapper接口方法名保持一致,如果不一致,程序会报相应的错误。

在这里插入图片描述

 

●这里我特别说明一下,private UserMapper userMapper既可以当做是引用数据类型,也可以作为接口对象进行使用,这里我们当接口对象使用(初次接触的时候肯定对这个会有些许疑问,很正常,因为我当时对于这个接口也纠结了很久哦);
●@Service表示我们在业务逻辑层进行操纵,属于自动配置的环节;
●相应的五个方法,通过对象得到相应返回值给UserMapper接口。

在这里插入图片描述

 

●@RestController注解:就表示我们在控制层模块。控制层是作为SpringMVC最重要的一个环节,进行前端请求的处理,转发,重定向,还包括调用Service方法;
●@RequestMapping注解:处理请求和控制器方法之间的映射关系;
●@ResponseBody注解:将返回的数据结构转换为JSON格式响应到浏览器(这里说得比较笼统,只是简单滴给大家说明一下,水平还不够,认识还不深,不到之处还请见谅!);
●更多的注解解释,还需要大家多去学习一下SpringMVC和SpringBoot,这里面会详细地介绍,在这里我只是做了很粗略的说明而已(本人也是正接触不久,正在努力学习当中)。

在这里插入图片描述

 

●语句很简单,指明我们要使用的开发环境配置文件

在这里插入图片描述

 

通过以上9个步骤,我们从第(1)个步骤程序入口处点击运行按钮,在浏览器中输入相应指令即可得到不同的展示信息:(到这一步,大概知道为啥要使用@MapperScan注解了吧,可以直接将扫描到的包文件交到代理类中,SpringBoot就是很人性化的框架!)
在这里插入图片描述
①查询操作:http://localhost:8081/seven/getUser/1
在这里插入图片描述
②删除操作:http://localhost:8081/seven/delete?id=14
在这里插入图片描述

③更改操作:http://localhost:8081/seven/update?id=1&name=小丸子&salary=12000
在这里插入图片描述
④插入操作:http://localhost:8081/seven/insert?id=15&name=浩子&salary=13000
在这里插入图片描述

⑤查询全部用户信息:http://localhost:8081/seven/selectAll

在这里插入图片描述
由于本人做的是前后端分离版本,没有和前端进行联系,所以页面做出来很丑陋,但是增删改查四个功能都已全部实现。目前技术尚浅,后续通过相应地更深层次地学习,我会对其进行改进~~估计后面做的东西会要高大上一点吧,O(∩_∩)O哈哈。 编写不易,路过的朋友,如果博客内容对你有所帮助的话,希望能一键三连一下呀,谢谢支持哦!

在这里插入图片描述

版权声明


相关文章:

  • js es6 symbol2024-12-17 19:01:05
  • 安卓xposed插件大全2024-12-17 19:01:05
  • linux系统中文件权限管理2024-12-17 19:01:05
  • 广州达测科技有限公司2024-12-17 19:01:05
  • shell aes256加密2024-12-17 19:01:05
  • java如何给string数组赋值2024-12-17 19:01:05
  • python绘制图形2024-12-17 19:01:05
  • 一句话木马作用2024-12-17 19:01:05
  • xampp3.2.4安装教程与配置2024-12-17 19:01:05
  • 01背包问题例题讲解2024-12-17 19:01:05