使用SpringBoot一小时快速搭建一个简单后台管理(增删改查)(超详细教程)

news2025/2/26 18:02:31

 最近也是临近期末了,各种的期末大作业,后台管理也是很多地方需要用到的,为了方便大家能快速上手,快速搭建一个简单的后台管理,我花了两天时间整理了一下

我会从0开始介绍,从数据库的设计到前端页面的引入最后到后端代码的编写,你只需要会一点前端的基础和ssm的基础就能快速上手搭建一个简单的后台管理

本次案例分两篇文章教学:

(第一篇):数据表设计,前端框架引入和编写前端页面,搭建基本的springboot项目,引入前端到springboot项目中,在浏览器显示

(第二篇):后端代码的设计,这部分逻辑涉及的比较多,所以单独放一篇出来讲,代码从0手敲讲解,保证你能学会,完成增删改查的功能

各大技术基础教学、实战开发教学(最新更新时间2021-12-4)

目录

前言和环境介绍

数据库

H+前端框架

基本介绍 

H+框架引入

编写后台表格页面

modal弹出框原理

搭建后端

基本介绍

创建SpringBoot项目

基本配置

引入前端

测试项目(测试一下页面是否能显示)

Gitee开源项目地址(本次项目源码)

各大技术基础教学、实战项目开发教学


前言和环境介绍

无论是做app,网站,还是小程序,都少不了后台管理

那么对于前端不是很会,后端也是只会一些的人来说,如何快速搭建一个简单的后台管理系统呢,哎别急,今天就来教大家简单快速搭建一个后台管理系统

首先,简单介绍一下我的开发环境

工具用处
H+前端框架,直观的教程文档,非常实用
SpringBoot后端框架,简单上手,搭建快
MySQL数据库
IDEA非常强大的编译器
Ajax异步请求,前端向后端发送请求
thymeleaf模板引擎,实时渲染页面,基于HTML
HBuild X前端编译器,用其他的也可以,看自己

好了,环境介绍完毕,我们先从前端界面做起

数据库

一个后台管理,肯定少不了数据,不然怎么叫后台管理呢

这里我是用的是MySQL数据库,当然你使用其他的也行,不过后面在SpringBoot中要做不同的配置

在MySQL中新建一个user数据库,新建一个t_user表,字段如下,id,用户名,昵称,密码id记得设置为自增长模式

H+前端框架

基本介绍 

官网地址:H+ 后台主题UI框架 - 主页

H+是一个非常强大的前端开源框架,开箱即用,不需要过多的配置,里面有非常多组件,具体就不一一介绍了,有兴趣的自己去看看

我们要做的是后台管理,所以我们直接找到表格,可以看到有很多样式选择,我们选择一个简单点

这里为了方便快速搭建我选择基本表格,当时你们可以根据自己喜欢来选择



H+框架引入

HBuild X官网下载地址(无需安装,解压即用)

打开HBuild X编译器(你用其他的也可以,没影响)

在左侧空白处新建一个项目(快捷键ctrl+n),选择基于HTML普通项目,添加项目名称,选好路径,点击创建

 一个基本的前端项目就创建好了

 接着,将H+框架的css,js,font等静态资源全部复制项目下



编写后台表格页面

找到H+框架中基本表格的源码,复制代码到index.htm下

再对其进行一点修改,去掉右上角的工具栏,加上增删改查的按钮

修改之后的页面如下,用到了H+框中的表格、表单、按钮、字体图标库,就不详细介绍了,有兴趣可以自己看看前端代码,我们着重讲解js和后端的搭建

同时,我们还需要一个弹出框,当点击添加和修改的时候会弹出一个表单框

我们在H+前端框架的表单中找到弹出框示例,复制代码做点修改

修改后如下:



modal弹出框原理

HTML页面代码比较多,就不放上来了,底部Gitee仓库完整的项目,主要讲解一下上面这个modal弹出框怎么实现的就行

首先,每个modal弹出框都有唯一的标识ID属性,这里我们有两个,一个添加用户,一个修改用户(里面的表单代码我没放出来,比较多,文章底部Gitee仓库我上传了完整开源项目)

<!-- 添加用户的弹出框 -->
<div id="modal-form-add" class="modal fade" aria-hidden="true">

</div>
<!-- 修改用户的弹出框 -->
<div id="modal-form-update" class="modal fade" aria-hidden="true">

</div>

我们为每个修改和删除按钮都添加一个类名标识(这里为什么不用ID,是因为ID只能唯一标识,添加按钮可以用ID,但是修改和删除不能用ID只能用class,因为有多个修改和删除按钮,添加按钮只有一个)

我们在js文件夹下面新建一个myJS文件夹,存放自己编写的js代码,新建一个index.js,添加以下代码

// 监听添加按钮事件(通过id属性监听)
$('#addUserBtn').click(function() {
	// 添加按钮被点击之后,展示modal框
	$('#modal-form-add').modal('show');
})
// 监听修改按钮事件(通过class属性监听)
$('.updateUserBtn').click(function() {
	// 修改按钮被点击之后,展示modal框
	$('#modal-form-update').modal('show');
})

然后再index.html底部引入index.js即可

就可以实现点击添加和修改按钮会弹出modal表单框,简单前端管理页面就搭建完毕了,接下来是后端

搭建后端

基本介绍

SpringBoot是目前非常主流的后端框架,简化新spring应用的初始搭建以及开发过程,搭建快,省去了编写大量配置文件的过程

创建SpringBoot项目

打开IDEA,选择spring Initializr,点击下一步

 添加主包名称,java version版本选择8,点击下一步

在左侧找到这五个依赖,勾选上,点击下一步

添加项目名称(默认为之前填写的主包名称),项目路径自己选择,点击完成

右下角处选择自动导入pom.xml依赖(没有的话直接跳过)

一个基本的SpringBoot项目就创建完毕了



基本配置

在搭建项目之前,先做一些基本的配置,如数据源(连接MySQL)、static静态资源映射(避免被拦截)、设置端口号(避免冲突)等

删除原有的application.properties文件,新建一个application.yml文件(两种都可以,yml文件方便一点),添加以下配置信息

spring:
  # 数据源,连接MySQL数据库
  datasource:
    url: jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
    username: 数据库用户名
    password: 数据库密码
    driver-class-name: com.mysql.cj.jdbc.Driver
  # JPA配置,打印sql语句
  jpa:
    show-sql: true
    properties:
      hibernate:
        format_sql: true
  # mvc配置,映射html页面
  mvc:
    static-path-pattern: /**
    view:
      prefix: /
      suffix: .html
  # thymeleaf模板引擎配置,设置编码,false取消缓存
  thymeleaf:
    encoding: UTF-8
    cache: false
server:
  # 修改启动端口号
  port: 8081
  # 静态资源映射路径
  web:
    resources:
      static-locations: classpath:/static/

在项目目录下新建一个config包(存在基本配置类),新建一个MyWebMVCConfig类,代码如下

@Configuration
public class MyWebMVCConfig implements WebMvcConfigurer {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        System.out.println("==========静态资源拦截!============");
        //将所有/static/** 访问都映射到classpath:/static/ 目录下
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    }
}


引入前端

把刚刚在HBuildX写好的前端页面引入到IDEA中,首先复制除了html的其他所有文件到static文件夹下

接着复制index.html到templates文件夹下

然后打开index.html,在所有访问静态资源的链接前面加上/static/

测试项目(测试一下浏览器是否能显示页面)

想项目目录下新建一个controller包,新建一个IndexCtroller类,添加以下代码

@RestController
public class IndexController {

    @RequestMapping(value = "/index") // 访问路径
    public ModelAndView toIndex() {
        // 返回templates目录下index.html
        ModelAndView view = new ModelAndView("index");
        return view;
    }
}

 点击启动项目,选哪个都可以,我一般选第二个debug模式启动,方式debug调试

 等待启动完成之后,打开浏览器,输入 localhost:8081/index,页面成功显示

第一篇文章到这里介绍完毕,第二篇正在火速撰写中······

Gitee开源项目地址(本次项目源码)

SpringBoot项目教学合集: CSDN中的所有SpringBoot项目开源,持续更新新项目、新教学文章

各大技术基础教学、实战项目开发教学

各大技术基础教学、实战开发教学(最新更新时间2021-11-28)_Bald programmer的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/405350.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用uniapp开发APP时的调试/安卓打包等

一、调试 1.先用数据线连接电脑和手机&#xff0c;选择“文件传输”&#xff0c; 2.打开开发者模式&#xff0c;华为手机举列-->设置-->关于手机-->版本号&#xff0c;多次连续点击“版本号”&#xff0c;就会提示已打开 开发者模式 3.华为手机举列-->设置-->…

Vue:element-ui中表格过长内容隐藏显示

一、el-table表格 在使用VUE显示后台数据时&#xff0c;经常会遇到数据过长&#xff0c;显示出来的效果很难看&#xff0c;如下图所示&#xff1a; 上图中&#xff0c;红框框出的内容由于长度过长&#xff0c;占据了三行空间&#xff0c;如果内容更多的话&#xff0c;占据行数就…

基于WEB的网上购物系统的设计与实现(附:源码 论文 sql文件)

摘 要 随着计算机网络技术的飞速发展和人们生活节奏的不断加快&#xff0c;电子商务技术已经逐渐融入了人们的日常生活当中&#xff0c;网上商城作为电子商务最普遍的一种形式&#xff0c;已被大众逐渐接受。因此开发一个网上商城系统&#xff0c;适合当今形势&#xff0c;更加…

【Windows Server 2019】Web服务 IIS 配置与管理—— IIS 的安装与基本配置 Ⅲ

目录4. 安装 IIS 服务器5. IIS 的基本配置5.1 绑定 IP参考资料关联博文4. 安装 IIS 服务器 准备工作&#xff1a;选择一台服务器作为WEB-IIS服务器&#xff0c;IP地址为192.168.82.208。 在Windows Server 2019系统中&#xff0c;IIS角色是可选组件&#xff0c;默认情况下是没…

Nginx之负载均衡upstream模块简介和使用

一、upstream模块简介 Nginx的负载均衡功能依赖于ngx_http_upsteam_module模块&#xff0c;所支持的代理方式包括proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass和grpc_pass。ngx_http_upstream_module模块有允许Nginx定义一组或多组服务组&#xff0c;使用…

在 vue eslint 报错 error “Component name “*****“ should always be multi-word”,该怎么办?

目录 出现的问题&#xff1a; 报错的原因&#xff1a; 解决方案&#xff1a; 方案一 &#xff1a;重命名(亲测有效) 方案二 &#xff1a;配置 vue.config.js 文件&#xff08;网上方法&#xff0c;本人使用无效&#xff09; 方案三 &#xff1a;配置 .eslintrc.js文件&a…

css设置渐变色

css如何设置自定义渐变色&#xff1f;线性渐变篇 CSS渐变可以让你在两个或多个指定颜色之间显示平滑的过渡 CSS定义了三种渐变类型: Linear Gradients (goes down/up/left/right/diagonally) 下降/ 上升/左/右/对角线Radial Gradients (defined by their center) 由中心定义…

SpringBoot整合WebSocket实现后端向前端发送消息

目录 一、什么是 websocket 接口 二、适用场景 三、示例代码 3.1、添加pom.xml依赖 3.2、创建WebSokcet配置类 3.3、创建测试发送消息接口 3.4、测试webSocket&#xff08;http://www.jsons.cn/websocket/&#xff09; 一、什么是 websocket 接口 使用 websocket 建立长连…

vue中的render函数(通俗、易懂)

文章目录一、初步认识render函数二、为什么使用render函数三、render函数的解析一、初步认识render函数 import Vue from vue import App from ./AppVue.config.productionTip falsenew Vue({el: #app,render: h > h(App) })在使用脚手架创建vue项目的过程&#xff0c;我们…

纯前端文档预览,还要支持所有主流格式,有这一篇就足够了

写在前面 纯前端的文档预览功能&#xff0c;是非常常见的需求&#xff0c;但就是这么简单的需求&#xff0c;难住了许多可爱的小伙伴们。别急&#xff0c;先访问一下解决方案&#xff0c;给你一个惊喜&#xff0c;再往下看&#xff1a; 文件在线预览DEMO 服务器文件预览DEMO …

【计算机网络】Web服务器的配置

目录 课题描述 需求分析 2.1 WEB服务器基本构架 2.1.1 WEB服务器和浏览器 2.2 HTTP协议 2.2.1 HTTP简介 2.2.2 HTTP工作原理 2.3 FTP协议 2.3.1 FTP简介 2.3.2 FTP工作原理 2.4 ISS服务作用 概要设计 3.1 ISS服务器的安装与配置 3.2 详细设计 结果分析 4.1 We…

JS实现轮播图(一看就懂逻辑清晰)

轮播图有很多种实现方法&#xff0c;这是其中一种最清晰的方法。思路很清晰&#xff0c;代码很简单&#xff0c;欢迎大佬多指教。 先来看下效果图&#xff0c;嫌麻烦就不用具体图片来实现了&#xff0c;主要是理清思路。&#xff08;自动轮播&#xff0c;左右按钮切换图片&…

Vue首屏加载过慢出现白屏的六种优化方案

公司业务展示官网开发&#xff0c;构建版本后在测试环境下&#xff0c;发下首屏加载损耗高达几十秒&#xff08;服务器在国外&#xff0c;所以也导致加载时间变长&#xff09;&#xff0c;于是采用了以下方法来达到提速目的。 1. 采用懒加载的方式 路由懒加载和组件懒加载&a…

【Node.js】初识Node.js

系列文章目录 文章目录系列文章目录一、什么是 Node.js二、下载和安装 Node.js1、普通方式2、使用 nvm 安装三、Node.js 和 JavaScript 的区别1、ECMScript2、JavaScript3、node.js四、commonjs1、什么是 commonjs2、安装 lodash五、debugger六、server 开发和前端开发的区别一…

Vue3实战教程(快速入门)

Vue3实战教程&#xff08;快速入门&#xff09;前言1.搭建脚手架1.1 创建项目1.2 清除多余文件&#xff0c;创建干净项目1.3 创建登录页面2.创建404页面&#xff08;引入sass&#xff09;2.1 引入sass2.2 创建404页面3.构建登录注册页面&#xff08;引入element-plus&#xff0…

VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了

前言 Visual Studio Code 是一个轻量级功能强大的源代码编辑器&#xff0c;支持语法高亮、代码自动补全&#xff08;又称 IntelliSense&#xff09;、代码重构、查看定义功能&#xff0c;并且内置了命令行工具和 Git 版本控制系统。适用于 Windows、macOS 和 Linux。它内置了对…

如何解决Vue3没有代码提示问题?

在上一篇笔记中提到了Vue3viteTs写代码过程中&#xff0c;出现的代码自动补全失效功能&#xff0c;今天来谈谈如何解决这个问题。 首先&#xff0c;我们已经很明确的就是安装了volar插件之后&#xff0c;HTML标签片段补全已经失效&#xff0c;即在template中书写HTML标签时&am…

IDEA2022版本创建maven web项目(两种方式)最全图文教学

IDEA2022版本创建maven web项目 问题发生时间&#xff1a;2022.1.3 问题描述&#xff1a;新版本的idea2022很多人不解的地方就是创建项目之后没有Web文件夹&#xff0c;这让项目创建的过程中产生了困难 提示&#xff1a;环境搭建的过程中请注意细节问题&#xff0c;避免粗心大…

Vue开发实例(20)之实现登录功能

引言 Vue是现在前端最流行的框架之一&#xff0c;作为前端开发人员应该要熟练的掌握它&#xff0c;如果你是打算学习Vue的开发流程&#xff0c;那么来吧&#xff0c;明哥带你快速上手、带你飞&#xff01; 即使你并非前端开发人员&#xff0c;对前端的开发流程进行一定的了解也…

微信小程序简洁登录页面(附源码)

微信小程序简洁登录页面&#xff08;附源码&#xff09; 文章目录微信小程序简洁登录页面&#xff08;附源码&#xff09;1. 群聊&#xff08;开源项目以及技术交流&#xff09;2.看效果3.用户不存在4.上代码4.1login.wxml4.2login.css4.3login.js5.总结1. 群聊&#xff08;开源…