非常简易的SpringBoot后台项目

1. 创建项目

使用IDEA创建 Spring项目,或在 https://start.spring.io/ 、 https://start.aliyun.com/bootstrap.html上生成后端初始化项目
 springboot 2.5.6 maven 选择插件:

spring boot devtools,
lombok,
spring configuration processor,
spring web,
spring data jpa ,
rest repositories,
mysql deriver
及其它需要的插件即可,初始化项目代码

2. 在MySQL中新建表

create DATABASE library;
CREATE TABLE `user` (
`id` int(100) NOT NULL AUTO_INCREMENT,
`username` datetime DEFAULT NULL COMMENT '用户名',
`password` datetime DEFAULT NULL COMMENT '密码',
PRIMARY KEY (`id`)
) COMMENT='用户表'

  

3. 创建package entity

import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table; @Data
@Entity
@Table(name = "user")
public class User {   @Id
  private int id;
  private String username;
  private String password;
  private String borrowNo;
}

4. 创建package repository

import com.library.backend.entity.Manager;
import com.library.backend.entity.User;
import org.springframework.data.jpa.repository.JpaRepository; import javax.transaction.Transactional;
import java.util.List; public interface UserRepository extends JpaRepository<User, String> {   User findByUsername(String name);   @Transactional
  void deleteById(int id);   List<User> findAllByUsernameContaining(String name);
}

5. 创建package controller

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.*; import java.util.List; import static com.library.backend.utils.Constant.*; @RestController
@RequestMapping("/user")
public class UserController {   @Autowired
  private UserRepository userRepository;   @GetMapping("/list")
  public Result managerLogin(User user) {
    if (user.getUsername() != null && !"".equals(user.getUsername())) {
      List<User> users = userRepository.findAllByUsernameContaining(user.getUsername());
      return new Result(SUCCESS_CODE, "", users);
    } else {
      List<User> users = userRepository.findAll();
      return new Result(SUCCESS_CODE, "", users);
    }
  }   @PostMapping("/add")
  public Result add(@RequestBody User user) {
    try {
      User user1 = userRepository.findByUsername(user.getUsername());
      if (user1 != null) {
        return new Result(NAME_REPEAT, "名称重复");
      }
      user.setPassword(DigestUtils.md5DigestAsHex(user.getPassword().getBytes()));
      userRepository.save(user);
      return new Result(SUCCESS_CODE, "新增成功", user);
     } catch (Exception e) {
      return new Result(FAILE_CODE, e.toString(), user);
    }
  }
  @PostMapping("/update")
  public Result update(@RequestBody User user) {
    try {
      userRepository.save(user);
      return new Result(SUCCESS_CODE, "修改成功", user);
    } catch (Exception e) {
      return new Result(FAILE_CODE, e.toString(), user);
    }
  }   @DeleteMapping("/delete")
  public Result delete(@RequestBody User user) {
    try {
      userRepository.deleteById(user.getId());
      return new Result(SUCCESS_CODE, "删除成功", user);
    } catch (Exception e) {
      return new Result(FAILE_CODE, e.toString(), user);
    }
  }
}

  

6. 创建package config(跨域看需要配,测试时全开,正式时可设定By域名或IP开放)

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter; @Configuration
public class CorsConfig {   @Bean
  public CorsFilter corsFilter() {
    UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
    CorsConfiguration configuration = new CorsConfiguration();
    configuration.addAllowedHeader("*");
    configuration.addAllowedMethod("*");
    configuration.addAllowedOrigin("*");
    urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", configuration);
    return new CorsFilter(urlBasedCorsConfigurationSource);
  }
}

  

7. Application类(一般会自动生成,看创建项目的方式)

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class XXXApplication {   public static void main(String[] args) {
    SpringApplication.run(BackendApplication.class, args);
  } }

  

8. application.properties配置

server.port=8080
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.password=123456
spring.datasource.username=root
spring.datasource.url=jdbc:mysql://localhost:3306/library?useSSL=false&useUnicode=true&serverTimezone=Asia/Shanghai

  

除上述之外的完整的代码地址:
https://gitee.com/zehongzhyuan/test-l-i-b-r-a-r-y/tree/dev

非常简易的SpringBoot后台项目的更多相关文章

  1. ElementUI项目请求SpringBoot后台项目时提示:Access to XMLHttpRequest at **from origin ** has been blocked by CORS policy

    场景 搭建ElementUI前端项目后提示: Access to XMLHttpRequest at **from origin ** has been blocked by CORS policy ...

  2. Linux下 SpringBoot jar项目后台运行、查看、停用

    运行java jar: nohup java -jar **-0.0.1-SNAPSHOT.jar & 查看进程: 采用top或者ps aux命令.一般 如果后台是springboot,jar ...

  3. 创建简易的SpringBoot项目

    创建简易的SpringBoot项目 这两天在学习springboot,菜鸟刚刚知道这个东西,看着springboot项目下那一大堆目录都不知道从何下手,还是静下心来从最简单的创建一个项目入手,这路和大 ...

  4. 简易版CMS后台管理系统开发流程

    目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...

  5. SpringBoot 试手(简易的SpringBoot搭建步骤)

    SpringBoot 也算AI吧,它根据您架构中引用的依赖,自动化地按默认方案帮您完成了Spring那些复杂繁琐的配置工作.为了让您不会看低此 AI 水平,还特地喊出了“约定大于配置”的口号.从这个角 ...

  6. Github 上 10 个值得学习的 Springboot 开源项目

    Spring Boot 几乎继承了所有 Spring 框架的优点,同时还可以让项目的配置更简化.编码更简化.部署更方便.近两年受到很多开发者的追捧,也是火热的不行! 下面给大家整理了 10 个 Git ...

  7. springboot web项目创建及自动配置分析(thymeleaf+flyway)

    @ 目录 源码分析 webjars thymeleaf thymeleaf语法 springmvc 启动配置原理 集成flyway插件 springboot 创建web项目只需要引入对应的web-st ...

  8. Vue编写的页面部署到springboot网站项目中出现页面加载不全问题

    问题描述: 在用Vue脚手架 编写出一个页面之后, 部署到后台项目中, 因为做的是一个页面 按理来说 怎么都能够在服务器上运行 , 我也在自己的node环境测试 , 在同学的springboot上运行 ...

  9. php大力力 [039节] 修改一下后台项目,同时启用印象笔记,要做的事情todo列表,记录在印象笔记,速度快一些

    php大力力 [039节]  修改一下后台项目,同时启用印象笔记,要做的事情todo列表,记录在印象笔记,速度快一些

  10. 手把手教你从零开始搭建SpringBoot后端项目框架

    原料 新鲜的IntelliJ IDEA.一双手.以及电脑一台. 搭建框架 新建项目 打开IDE,点击File -> New Project.在左侧的列表中的选择Maven项目,点击Next. 填 ...

随机推荐

  1. JVM(Java虚拟机) 整理(一):基础理论

    JVM整体结构 本文主要说的是HotSpot虚拟机, JVM 全称是 Java Virtual Machine,中文译名:Java虚拟机 简化一下: Java字节码文件 Class文件本质上是一个以8 ...

  2. ABP框架开发实例教程-生成框架代码

    ABP是"ASP.NET Boilerplate Project (ASP.NET样板项目)"的简称.ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB ...

  3. 开源GTKSystem.Windows.Forms,在这里更新预告

    开源GTKSystem.Windows.Forms,在这里更新预告 gitee码云开源地址:https://gitee.com/easywebfactory/gtksystem-windows-for ...

  4. 如何计算QPS、PV和需要部署机器数量?

    基本概念 网站访问量的常用衡量标准:独立访客(UV) 和 综合浏览量(PV),一般以日为单位来计算. 独立访客(UV):指一定时间范围内相同访客多次访问网站,只计算为1个独立访客. 综合浏览量(PV) ...

  5. 在Winform程序中增加隐藏的按键处理,用于处理一些特殊的界面显示或者系统初始化操作

    以前,我看到一个朋友在对一个系统做初始化的时候,通过一组魔幻般的按键,调出来一个隐藏的系统设置界面,这个界面在常规的菜单或者工具栏是看不到的,因为它是一个后台设置的关键界面,不公开,同时避免常规用户的 ...

  6. 流式查询1. mybatis的游标Cursor,分页大数据查询

    流式查询流式查询 指的是查询成功后不是返回一个集合而是返回一个迭代器,应用可以通过迭代器每次取一条查询结果.流式查询的好处是能够降低内存使用.例如我们想要从数据库取 1000 万条记录而又没有足够的内 ...

  7. tp 模型hasOne、hasMany、belongsTo详解

    首先,这3个的大致中文意思:hasOne:有一个,加上主谓语应该是 ,A 有一个 BhasMany:有很多,A 有很多 BbelongsTo:属于, A 属于 B这里我们准备3张表来理解他们的关系:u ...

  8. workman的工作流程

    workerman有两种进程模型1.基本的master worker模型2.master gateway worker模型 master worker模型工作流程及进程间关系如下: master wo ...

  9. Django model 层之聚合查询总结

    Django model 层之聚合查询总结 by:授客 QQ:1033553122 实践环境 Python版本:python-3.4.0.amd64 下载地址:https://www.python.o ...

  10. 【Mybatis】11 注解的使用

    文档引用:http://www.mybatis.cn/archives/678.html 视频参考:https://www.bilibili.com/video/BV1NE411Q7Nx?p=15 注 ...