【Java Web】010 -- SpringBootWeb综合案例(部门管理 & 员工管理)

目录

SpringBootWeb综合案例

一、准备工作

1、需求说明 & 环境搭建

①、需求说明

②、环境搭建

2、开发规范

①、接口文档

②、开发规范 -- Restful (表述性状态转换)

③、开发规范 -- 统一响应结果

④、开发流程

二、部门管理

1、查询部门

①、思路

②、实现

2、前后端联调

①、实现步骤

②、小结

3、删除部门(根据id删除部门)

①、需求说明

②、实现过程

4、新增部门

①、需求说明

②、实现步骤

5、@RequestMapping注解

6、小结

二、员工管理

1、分页查询

①、分页查询语法

②、员工分页查询业务分析

③、实现过程

④、小结

2、分页插件(PageHelper)

①、分页查询 - 实现

②、小结

2、分页查询(带条件)

①、实现思路

②、代码实现

③、小结

3、删除员工

①、需求分析

②、代码实现


SpringBootWeb综合案例

一、准备工作

1、需求说明 & 环境搭建

①、需求说明

②、环境搭建

实现流程:

Ⅰ、准备数据库表:

Ⅱ、创建SpringBoot工程,引入对应的起步依赖:

Ⅲ、配置文件application.properties中引入MyBatis的配置信息,准备对应的实体类

Ⅳ、准备对应的Mapper、Service、Controller基础结构

2、开发规范

①、接口文档

学会阅读接口文档:(并严格按照接口文档进行开发)

②、开发规范 -- Restful (表述性状态转换)

Restful是一种设计风格。对于我们Web开发人员来说。就是使用一个url地址表示一个唯一的资源。然后把原来的请求参数加入到请求资源地址中。然后原来请求的增,删,改,查操作。改为使用HTTP协议中请求方式GET、POST、PUT、DELETE表示。

把请求参数加入到请求的资源地址中

原来的增,删,改,查。使用HTTP请求方式,POST、DELETE、PUT、GET分别一一对应。

注意事项:

③、开发规范 -- 统一响应结果

④、开发流程

二、部门管理

1、查询部门

①、思路

②、实现

具体实现步骤:(以查询所有部门为例)

Ⅰ、编写Controller实现类方法

Ⅱ、编写Service接口 & Service实现类

service实现类:

Ⅲ、编写Mapper:

Ⅳ、通过Postman对方法进行测试:

查看运行Console:

2、前后端联调

①、实现步骤

进入前端工程页面,点击部门管理,如果页面显示了数据,就说明此时我们前后端联调成功:

F12(检查):

②、小结

3、删除部门(根据id删除部门)

①、需求说明

思路:

路径参数:

响应参数:

②、实现过程

具体实现流程:

Ⅰ、编写Controller实现类方法

Ⅱ、编写Service接口 & Service实现类

service实现类:

Ⅲ、编写Mapper:

Ⅳ、通过Postman对方法进行测试:

查看运行Console:

前后端联调:

4、新增部门

①、需求说明

②、实现步骤

具体实现流程:

Ⅰ、编写Controller实现类方法

Ⅱ、编写Service接口 & Service实现类

service实现类:

Ⅲ、编写Mapper:

Ⅳ、通过Postman对方法进行测试:

查看运行Console:

前后端联调:

5、@RequestMapping注解

@RequestMapping注解可以作用在类上,也可以作用在方法上

6、小结

修改部门实现步骤:

Ⅰ、编写Controller实现类方法

Ⅱ、编写Service接口 & Service实现类

service实现类:

Ⅲ、编写Mapper:

Ⅳ、通过Postman对方法进行测试:

前后端联调:

二、员工管理

1、分页查询

①、分页查询语法

②、员工分页查询业务分析

实现思路:

③、实现过程

具体实现步骤如下:

Ⅰ、创建一个PageBean实体类

Ⅱ、编写Controller实现类方法

Ⅲ、编写Service接口 & Service实现类

service实现类:

Ⅳ、编写Mapper:

Ⅴ、通过Postman对方法进行测试:

查看运行Console:

遇到的问题:(Mybatis多参数传递

这是由于MyBatis在编译时,无法将形参名也一同编译进去,导致的无法识别

类似问题可参考:【Java Web】009 -- MyBatis(入门 & 增删改查 & 动态SQL) 中Mapper接口的参数名编译

解决办法有两种:

1、通过@Param进行参数绑定,如下图所示:

2、将MyBatis版本提高到3.4.1及以上,此时可以省略@Param注解:

④、小结

 

2、分页插件(PageHelper)

①、分页查询 - 实现

Ⅰ、添加PageHelper依赖:

Ⅱ、修改Mapper接口语句:

Ⅲ、修改Service实现类:

Ⅳ、通过Postman对方法进行测试:

②、小结

2、分页查询(带条件)

①、实现思路

②、代码实现

Ⅰ、改造Controller:

Ⅱ、改造Service:

Ⅲ、改造Mapper,添加XML映射文件:

改造Mapper接口:

XML映射文件:

③、小结

3、删除员工

①、需求分析

②、代码实现

Ⅰ、Controller方法:

 

Ⅱ、Service方法:

Service接口:

Service实现类:

Ⅲ、Mapper方法:

Mapper接口:

XML映射文件:(动态SQL <foreach>

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
一个简单的Spring Boot项目案例可以是一个基本的CRUD(创建、读取、更新、删除)应用程序。下面是一个例子: 引导类是Spring Boot项目的执行入口,可以通过运行main方法来启动项目。在引导类中,需要使用@SpringBootApplication注解来标记该类为Spring Boot应用程序的入口。同时,还可以使用@MapperScan注解来指定需要扫描的Mapper接口所在的包。例如: ```java package com.example.springbootdemo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringBootDemoApplication.class, args); } } ``` 在一个基本的CRUD应用程序中,通常会有一个控制器(Controller)类来处理HTTP请求,并调用相应的服务类进行数据处理。下面是一个示例控制器类: ```java package com.example.springbootdemo.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.example.springbootdemo.model.User; import com.example.springbootdemo.service.UserService; @RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; @GetMapping("/{id}") public User getUserById(@PathVariable("id") Long id) { return userService.getUserById(id); } @PostMapping("/") public User createUser(@RequestBody User user) { return userService.createUser(user); } @PutMapping("/{id}") public User updateUser(@PathVariable("id") Long id, @RequestBody User user) { return userService.updateUser(id, user); } @DeleteMapping("/{id}") public void deleteUser(@PathVariable("id") Long id) { userService.deleteUser(id); } } ``` 在上述示例中,我们定义了一个UserController类,它使用@RestController注解来标记该类为一个处理HTTP请求的控制器。通过@RequestMapping注解来指定该控制器处理的URL路径。在方法中,我们使用@GetMapping、@PostMapping、@PutMapping和@DeleteMapping注解来指定相应的HTTP请求方法。 此外,通常还会有一个服务类(Service)来处理业务逻辑,以及一个数据访问对象(DAO)接口来操作数据库。在这个简单的例子中,我们假设有一个UserService和一个UserDao接口,用于处理用户相关的操作。 希望这个示例可以帮助你理解Spring Boot项目的结构和一些常用的注解。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [springboot基础篇(快速入门 + 完整项目案例)](https://blog.csdn.net/m0_54355172/article/details/126227899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [[spring]spring boot项目实例](https://blog.csdn.net/henku449141932/article/details/113743504)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TomLazy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值