• 后端各层的部署开发


    目录

    一、创建数据库

    二、entity层

    三、mapper层

    四、service层

    五、controller层


    一、创建数据库

    1. CREATE TABLE `user` (
    2. `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
    3. `name` varchar(10) DEFAULT NULL COMMENT '姓名',
    4. `sex` varchar(5) DEFAULT NULL COMMENT '性别',
    5. `phone` varchar(11) DEFAULT NULL COMMENT '手机号',
    6. `avatar` varchar(100) DEFAULT NULL COMMENT '头像',
    7. PRIMARY KEY (`id`)
    8. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

    二、entity层

    entity是存放实体的类,类中定义了多个类属性,并与数据库表的字段保持一致(通过配置文件可使得类中的驼峰命名和数据库表的下划线所对应)

    1. package com.like.entity;
    2. import com.baomidou.mybatisplus.annotation.IdType;
    3. import com.baomidou.mybatisplus.annotation.TableId;
    4. import com.baomidou.mybatisplus.annotation.TableName;
    5. import lombok.AllArgsConstructor;
    6. import lombok.Data;
    7. import lombok.EqualsAndHashCode;
    8. import lombok.NoArgsConstructor;
    9. @Data
    10. @NoArgsConstructor
    11. @AllArgsConstructor
    12. @EqualsAndHashCode(callSuper = false)//当EqualsAndHashCode注解在类上,会自动为该类提供 hashCode() 和 equals() 方法。
    13. @TableName("user")//@TableName 注解用来将指定的数据库表和 JavaBean 进行映射
    14. public class User {
    15. private static final long serialVersionUID = 1L;
    16. /**
    17. id
    18. value”:设置数据库字段值
    19. type”:设置主键类型、如果数据库主键设置了自增建议使用“AUTO”
    20. */
    21. @TableId(value = "id",type = IdType.AUTO)
    22. private Long id;
    23. /**
    24. * 姓名
    25. */
    26. private String name;
    27. /**
    28. * 性别
    29. */
    30. private String sex;
    31. /**
    32. * 手机号
    33. */
    34. private String phone;
    35. /**
    36. * 头像
    37. */
    38. private String avatar;
    39. }

    三、mapper

    mapper层为数据持久层,mapper层的作用为访问数据库,向数据库发送sql语句,完成数据的增删改查任务。在spring boot中一般结合mybatisplus插件使用,定义一个mapper接口继承BaseMapper,基本CRUD在内置的BaseMapper中都已得到了实现,我们可以直接使用。

    1. package com.like.mapper;
    2. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    3. import com.like.entity.User;
    4. public interface UserMapper extends BaseMapper<User> {
    5. }

    四、service层

    业务逻辑层,完成功能的设计
    service层在spring boot中一般结合mybatisplus插件使用,先定义service接口继承Iservice,再创建要实现的类继承serviceimpl,MyBatis-Plus中有一个接口 IService和其实现类 ServiceImpl,封装了常见的业务层逻辑,service的impl是把mapper和service进行整合的文件,封装Service层的业务逻辑有利于业务逻辑的独立性和重复利用性

    顺便一提,其实所有操作都可以通过调用mapper的基本增删改查操作实现,但是假如一个业务会用到复杂的增删改查操作,我们就可以把这些增删改查整合在service里面,以后直接调用service即可

    可以说,service是mapper的扩展和加强

    1. package com.like.service;
    2. import com.baomidou.mybatisplus.extension.service.IService;
    3. import com.like.entity.User;
    4. public interface UserService extends IService<User> {
    5. }
    1. package com.like.service.impl;
    2. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
    3. import com.like.entity.User;
    4. import com.like.mapper.UserMapper;
    5. import com.like.service.UserService;
    6. import org.springframework.stereotype.Service;
    7. @Service
    8. public class UserServiceImpl extends ServiceImpl, User> implements UserService {
    9. }

    五、controller层

    控制层,控制业务逻辑service,控制请求和响应,负责前后端交互。功能都写在controlle层r下。
    controller层主要调用Service层里面的接口控制具体的业务流程,控制的配置也要在配置文件中进行

    1. package com.like.controller;
    2. import com.like.common.CommonDto;
    3. import org.springframework.web.bind.annotation.GetMapping;
    4. import org.springframework.web.bind.annotation.RequestMapping;
    5. import org.springframework.web.bind.annotation.RestController;
    6. @RestController
    7. @RequestMapping("/user")
    8. public class UserController {
    9. @GetMapping("/test")
    10. public String test(){
    11. System.out.println(111);
    12. System.out.println("恭喜你后端搭建完毕");
    13. return "恭喜你后端搭建完毕";
    14. }
    15. @GetMapping("/test1")
    16. public CommonDto test1(){
    17. System.out.println(222);
    18. System.out.println("恭喜你后端搭建完毕");
    19. CommonDto commonDto = new CommonDto();
    20. commonDto.setMessage("成功了");
    21. commonDto.setContent("controller层搭建成功");
    22. return commonDto;
    23. }
    24. }

    笔者在写controller层出现了一些小问题:测试controller层的一些请求的时候,后端控制台打印的是乱码,网上找了很多说改UTF-8的,但是我去设置里面全部都改为UTF-8了,结果仍然无济于事,甚至还把idea.exe.vmoption文件中增加了关于编码格式的配置,都没有效果。

    最终笔者查阅资料发现,jdk我用的18版本,而jdk18默认的编码格式是GBK,笔者把settings里面的文件编码格式全改为GBK,果然控制台打印正常中文了

    问题根除传送门:IDEA控制台打印乱码改如何解决

  • 相关阅读:
    阶段六-Day01-Linux入门
    剑指-020
    公众号文章怎么制作?
    积雪草酸肌白蛋白纳米粒|野黄芩苷豆清白蛋白纳米粒|黄芩苷蓖麻蛋白纳米粒(齐岳)
    【Java】认识类和对象
    BSP Day55
    [附源码]计算机毕业设计springboot在线招聘网站
    leetcode每日一练-第977题-有序数组的平方
    ubuntu20.04中安装配置docker nvidia容器来实现宿主机GPU的调用
    SQL基本的表修改及其它命令
  • 原文地址:https://blog.csdn.net/m0_63732435/article/details/133445404