SpringBoot项目实践分析笔记(图书管理系统)Java项目

        将项目大体分为四层,分别为:domain(定义层)、dao(数据库连接层)、service(服务层)、controller(控制器层)。

    1、domain(定义层)    

        主要用来定义一些实体类,所谓实体类就是业务中的实体,通常与数据库中的表一一对应。每个类中所定义的参数也应该与所对应表的列名所对应。例如在此项目中,定义一个实体类为Book,如:

Book实体所对应的表为:并在类中添加setter和getter方法(添加方法:快捷键Alt+Insert 选setter和getter)。

2、DAO层

        DAO(Data Access Object)层用于封装对数据库的访问操作,包括数据的增删改查等操作。DAO 层位于持久层,与数据库进行交互,负责处理数据的持久化和检索。

Repository 接口是 DAO 层的核心部分,用于定义数据访问操作。需要在代码前加注释。

@Repository

        在此项目中我们在DAO层里面添加bookDao,主要是对book表进行增删改查,使用jdbc连接数据库。 

3、service层

        Service 层在 Spring Boot 项目中扮演着实现业务逻辑、管理事务、封装业务功能等角色。它将业务逻辑封装成方法,对外提供统一的调用接口,同时负责执行业务规则和管理事务。

        Service层的方法的实现中,会直接调用DAO层的方法来实现业务逻辑。例如在此项目中,bookService的方法中有queryBook(查书)、getAllBook(得到所有书的信息)等,如下图

 需要注意的是,需要添加注释:

@Service

4、controller(控制器层)

        Controller 层也称为控制器层,是整个应用程序的入口点之一,负责处理用户请求并返回响应。Controller 层位于应用程序的顶层,与用户进行交互,并根据用户的请求调用相应的业务逻辑来处理请求。

        简单来说,接受hettp请求,将URL路由映射到相应的处理方法上面,再将相应的结果返回给客户端(或前端),通常响应结果为json格式。

我们可以统一controller返回的结果形式,定义一个类用来封装返回对象的如下:

package com.example.library00.book.model;

public class ResponseBase {
    private int code ;
    private String message;
    private Object data;

    public static ResponseBase success(){
        ResponseBase responseBase = new ResponseBase();
        responseBase.setCode(200);
        return responseBase;
    }
    public static ResponseBase success(Object data){
        ResponseBase responseBase = success();
        responseBase.setData(data);
        return responseBase;
    }
    public static ResponseBase error(int code,String message){
        ResponseBase responseBase = new ResponseBase();
        responseBase.setCode(code);
        responseBase.setMessage(message);
        return responseBase;
    }
    public static ResponseBase error(String message){
        ResponseBase responseBase = new ResponseBase();
        responseBase.setCode(10000);
        responseBase.setMessage(message);
        return responseBase;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}

controller层中的映射通常使用(@RequestMapping@GetMapping@PostMapping)进行映射,Get和Post分别是两种http的请求方式。

在此项目中,我们对bookController层添加了几个映射,如"add","findBookId"等等。

注意的是,在代码前需要添加注释:

@RestController

5、连接数据库

在main文件夹里的resources文件里面,其中application.propertier文件里

写如下:

spring.datasource.url=jdbc:mysql://localhost:3306/library(数据库URL)
spring.datasource.username=root(你自己的用户名)
spring.datasource.password=(密码)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

6、代码链接

GitHub - YEYDG/library00: YEYlibrary

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

幼儿园大哥7

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

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

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

打赏作者

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

抵扣说明:

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

余额充值