工程搭建

1.创建项目

1). 创建SpringBoot工程,并引入web开发起步依赖、mybatis、mysql驱动、lombok

2.准备sql表和yml

2). 创建数据库及对应的表结构,并在application.yml中配置数据库的基本信息。

3.准备包结构和基础代码

  • 准备基础包结构

  • 实体类Dept

  • 统一响应结果Result

  • 基础代码结构

      • DeptMapper

      • DeptService

      • DeptServiceImpl

      • DeptController

      查询

      1.实现思路

      明确了删除部门的需求之后,再来梳理一下实现该功能时,三层架构每一层的职责:

      • Controller层,负责接收前端发起的请求,并调用service查询部门数据,然后响应结果。

      • Service层,负责调用Mapper接口方法,查询所有部门数据。

      • Mapper层,执行查询所有部门数据的操作。

      2.代码实现

      1). Controller层

      DeptController 中,增加 list 方法,代码如下:

      2). Service层

      DeptService 中,增加 findAll方法,代码如下:

      3)Mapper层

      DeptMapper 中,增加 findAll方法,代码如下:

      删除

      1.思路分析

      2.接受前端请求参数

      如果请求参数名与形参变量名相同,直接定义方法形参即可接收。(省略@RequestParam)

      3.代码实现

      1). Controller层

      2). Service层

      3). Mapper层

      新增

      1.思路分析

      2.json参数接收

      我们看到,在controller中,需要接收前端传递的请求参数。 那接下来,我们就先来看看在服务器端的Controller程序中,如何获取json格式的参数。

      • JSON格式的参数,通常会使用一个实体对象进行接收 。

      • 规则:JSON数据的键名与方法形参对象的属性名相同,并需要使用@RequestBody注解标识。

      前端传递的请求参数格式为json,内容如下:{"name":"研发部"}。这里,我们可以通过一个对象来接收,只需要保证对象中有name属性即可。

      代码实现

      1). Controller层

      2). Service层

      3)Mapper层

      /** * 保存部门 */修改

      @Insert("insert into dept(name,create_time,update_time)
       values(#{name},#{createTime},#{updateTime})")
       void insert(Dept dept);

      如果在mapper接口中,需要传递多个参数,可以把多个参数封装到一个对象中。 在SQL语句中获取参数的时候,#{...} 里面写的是对象的属性名【注意是属性名,不是表的字段名】。

      修改

      (一).查询回显

      1.实现思路

      明确了根据ID查询部门的需求之后,再来梳理一下实现该功能时,三层架构每一层的职责:

      2.路径参数接收

      /depts/1/depts/2 这种在url中传递的参数,我们称之为路径参数。 那么如何接收这样的路径参数呢 ?

      路径参数:通过请求URL直接传递参数,使用{…}来标识该路径参数,需要使用 @PathVariable获取路径参数。如下所示:

      如果路径参数名与controller方法形参名称一致,@PathVariable注解的value属性是可以省略的。

      3.代码实现

         1). Controller层

         2). Service层

         3).Mapper层

      @Select("select id, name, create_time, update_time from dept where id = #{id}") Dept getById(Integer id);

       (二).修改数据

      1.实现思路

      根据ID修改部门的数据。

      通过接口文档,我们可以看到前端传递的请求参数是json格式的请求参数,在Controller的方法中,我们可以通过 @RequestBody 注解来接收,并将其封装到一个对象中。

      2.代码实现

       1). Controller层

       2). Service层

       3). Mapper层

      /** * 更新部门 */

      @Update("update dept set name = #{name},update_time = #{updateTime} where id = #{id}")

      void update(Dept dept);

      @RequestMapping

      公共的路径 /depts 抽取到类上的,

      那在各个方法上,就可以省略了这个 /depts 路径。

      代码如下:

      一个完整的请求路径,应该是类上的 @RequestMapping 的value属性 + 方法上的 @RequestMapping的value属性。

      日志

      1. Logback入门

      1). 准备工作:

      引入logback的依赖springboot中无需引入,在springboot中已经传递了此依赖)

      2). 引入配置文件 logback.xml (资料中已经提供,拷贝进来,放在 src/main/resources 目录下; 或者直接AI生成)

      3). 日志开关配置 (开启日志(ALL),取消日志(OFF))

      1. Logback日志级别

       引用 

      ombok中提供的@Slf4j注解,可以简化定义日志记录器这步操作。添加了该注解,就相当于在类中定义了日志记录器,就下面这句代码:

      private static Logger log = LoggerFactory. getLogger(Xxx. class);

      Logo

      Agent 垂直技术社区,欢迎活跃、内容共建。

      更多推荐