如何使用ssm实现基于java斗车交易系统设计与实现+vue

@TOC

ssm082基于java斗车交易系统设计与实现+vue

系统概述

1.1 概述

 随着社会的快速发展,计算机的影响是全面且深入的。人们的生活水平不断提高,日常生活中人们对斗车交易方面的要求也在不断提高,需要咨询的人数更是不断增加,使得斗车交易系统的开发成为必需而且紧迫的事情。斗车交易系统主要是借助计算机,通过对斗车交易系统所需的信息管理,增加用户选择,同时也方便对广大用户信息的及时查询、修改以及对用户信息的及时了解。斗车交易系统对用户带来了更多的便利, 该系统通过和数据库管理系统软件协作来满足用户的需求。

1.2课题意义

随着全球信息化的发展,人们的生活节奏越来越快,对信息的时效性越来越重视。以传统的宣传方式为载体的传统媒介早已不能满足用户对获取信息的方式、便捷性的需求。所以斗车交易系统渐渐成为用户关注的焦点。首先,斗车交易系统,网上获取信息的实时性、便捷性要远远高于传统媒介。系统一经上线,无论用户在世界的哪个角落,只要能够连接互联网,就能在第一时间获得想要的信息。

以往的汽车信息相关信息管理,都是工作人员统计。这样即浪费时间,时效性低,而且需要查找和变更的时候很不方便。随着科学的进步,技术的成熟,计算机信息化也日新月异的发展,社会也已经深刻的认识,计算机功能非常的强大,计算机已经进入了人类社会发展的各个领域,并且发挥着十分重要的作用。

计算机技术在现代管理中的应用,使计算机成为用户应用现代技术的重要工具。能够有效的解决获取信息便捷化、全面化的问题,提高效率。

1.3 主要内容

斗车交易系统从功能、数据流程、可行性、运行环境等方面进行需求分析。对斗车交易系统的数据库、功能进行了详细设计。分析了主要界面设计和相关组件设计,对斗车交易系统的具体实现进行了介绍,从而达到对斗车交易系统的管理。

详细内容介绍,将在以下六章中详细阐述:

第一章、绪论,介绍了研究课题选择的背景及意义、研究现状,简要介绍了本文的章节内容。

第二章、引入技术知识,通过引入关键技术进行开发,向系统中涉及直观表达的技术知识。

第三章、重点分析了系统的分析,从系统强大的供需市场出发,对系统开发的可行性,系统流程以及系统性能和功能进行了探讨。

第四章、介绍了系统的详细设计方案,包括系统结构设计和数据库设计。

第五章、系统设计的实现,通过对系统功能设计的详细说明,论证了系统的结构。

第六章、系统的整体测试,评判系统是否可以上线运行。

采用java技术,从数据库中获取数据、向数据库中写入数据,实现系统直接对数据库进行各种操作,在网页中加入动态内容,从而实现斗车交易系统所需要的各种基本功能。

2 系统开发环境

2.1 java简介

Java语言是在二十世纪末由Sun公司发布的,而且公开源代码,这一优点吸引了许多世界各地优秀的编程爱好者,也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言之一,从发布初期到现今,可以说有将近20多年的历史,已发展成为人类计算机编程语言发展史上的一个深远影响。

Java语言具有非常多种的特性:(1)跨平台的无关性;(2)面向对象; (3)安全性得以保障;(4)支持多个任务;(5)多种编写方式,代码编写简单。对比其他的低级语言、高级语言,Java语言具有明显的显著优势以及未来开阔的前景,可以广泛的应用在个人笔记本电脑、大数据、大型游戏等等。

首先,Java语言具有面向对象的特性,并且易于理解。关于对象,其实可以理解成每一种事物都是一种对象,包括我们人类自身都是一种对象。利用面向对象语言的基本特征来解决软件开发中的实际问题,为有效软件开发提供了技术支持。

其次,Java 语言具有很好的跨平台无关性。所编写出来的应用程序是Java语言编写的,那么就无需再使用编译器来修改程序代码,可以直接在任何计算机系统中运行,Windows系统可以运行,在Linux系统中也可以,也就是经过一次编译,可以到处运行,所以Java语言具有卓越的可移植性,可以很好的跨平台实现。

2.2 Mysql数据库

Mysql是一个多患者、多线程的服务器,采用SQL的数据库,数据库管理系统是基于SQL的患者以及服务器模式的关系,它的优点有强大的功能、操作简单、管理方便、可靠安全、运行较快、多线程、跨平台性、完全网络化、稳定性等,非常适合Web站点或者其他应用软件,在数据库后端的开发。此外,利用许多语言,患者可以编写和访问Mysql数据库的程序。Mysql数据库也是开放源代码的,开发者越来越喜欢使用Mysql关系数据库,应用范围也被推而广之。这是由于速度快和易用性, Web站点或应用软件的数据库后端的开发也都在使用它。

mysql 数据库它有很多的优点,例如它在操作上能够让人通俗易懂、功能强大、信息储存量高等优点。所以被人们广泛应用,对于mysql数据库来说它一般主要是对数据进行编码和查询,而且在很多的设计当中都应用到了该数据库,在此过程当中我们可以对常规的数据进行查询和组合,所以我们在进行使用mysql数据库的时候只要对编写一小段的数据就能实现相应的功能。数据库,就是数据存储的储藏室,只不过数据是存储在计算机上的,而不是现实中的储藏室,数据的存放是按固定格式,而不是无序的,则定义就是 :长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要包括数据表的建立,数据存储、修改和增加数据,为了使数据库系统能够正常运行,相关人员进行的管理工作。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。

2.3 B/S结构

BROWSER/SERVER程序架构方式是使用电脑中安装的各种浏览器来进行访问和使用的,相比C/S的程序结构不需要进行程序的安装就可以直接使用。BROWSER/SERVER架构的运行方式是在远程的服务器上进行安装一个,然后在任何接入互联网的电脑上访问和使用。BROWSER/SERVER架构的开发方式给患者带来了极大的便利,在任何时间和地点都可以使用开发的程序系统。

在B/S的结构中,患者可以在任何可以上网的地方访问和使用系统网站的功能,没有地域和时间等方面的限制,B/S结构是把程序完整放置到计算机网络的服务器上,通过计算机互联网给患者提供远程的网络服务。在三层体系结构的B/S系统中,通过浏览器,患者可以对很多服务器发出请求, B/S系统会很大程度的降低工作量,患者只需要安装运行较少的患者端即可,大量的工作将由服务器承担,另外,服务器也完成包括访问数据库,执行应用程序的工作等等。

B/S结构主要有三层,分别为数据层、控制逻辑层和视图层。患者通过视图层,让控制层调用数据层的数据,从而达到整个访问过程。三层相互独立,维护方便,使用安全,三层有互相调用,提高效率。

2.4 SSM三大框架

1.Spring的优势: 通过Spring的IOC特性,将对象之间的依赖关系交给了Spring控制,方便解耦,简化了开发。

2.Spring MVC的优势: SpringMVC是使用了MVC设计思想的轻量级web框架,对web层进行解耦,使我们的开发更简洁。

3.Mybatis的优势:

数据库的操作(sql)采用xml文件配置,解除了sql和代码的耦合,提供映射标签,支持对象和和数据库orm字段关系的映射,支持对象关系映射标签,支持对象关系的组建提供了xml标签,支持动态的sql

3 需求分析

3.1技术可行性:技术背景     

斗车交易系统是在Windows操作系统中进行开发运用的,而且目前PC机的各项性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。

系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。

(1)硬件可行性分析

系统管理及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。

(2)软件可行性分析

开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障了数据信息能够得到及时的备份,整个系统可以安全有效的运行。

因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。

3.2经济可行性

在斗车交易系统开发之前所做的市场调研及与其相关的其他管理系统,都是没有任何费用的。所有的调查研究都是通过开发者自己的努力,所有的工作也都是自己亲力亲为的。在碰到自己比较难以解决的问题时,大多数是通过指导老师和同学的帮助进行相关问题的解决。所以对于斗车交易系统的开发在经济上是完全可行的,没有任何费用支出的。

使用比较成熟的技术,系统是基于Java的开发,采用Mysql数据库。所以系统在开发人力、财力方面的要求不高,具有经济可行性。

3.3操作可行性: 

可操作性主要是对在斗车交易系统设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、用户二个角色,都可以简单明了的进入到自己的系统界面,通过界面可以简单明了地操作功能模块,方便用户信息的操作需求和管理员数据信息。对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以斗车交易系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。

3.4系统设计规则

本斗车交易系统采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。

斗车交易系统的设计与实现的设计思想如下:

  1. 操作简单方便、系统界面安全良好:简单明了的页面布局,方便查询管理的相关信息。

2、即时可见:对斗车交易系统信息的处理将立马在对应地点可以查询到,从而实现“即时发布、即时见效”的系统功能。

3、功能的完善性:管理员;个人中心、用户管理、汽车分类管理、汽车品牌管理、汽车颜色管理、汽车信息管理、系统管理、订单管理,

用户前台;首页、汽车信息、公告信息、个人中心、后台管理、购物车、在线咨询等模块的修改和维护操作。

3.5系统流程和逻辑

系统业务流程图,如图所示:

图3-1登录流程图

图3-2添加信息流程图

图3-3注册信息流程图

4系统概要设计

4.1 概述

斗车交易系统基于Web服务模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在不受时间、地点的限制来使用这个系统。斗车交易系统工作原理图,如图4-1所示:

图4-1 系统工作原理图

4.2 系统结构

本系统架构网站系统,本系统的具体功能如下:

斗车交易系统登陆界面

用户登录

密码正确

管理员界面

用户界面

图4-2系统功能结构图

管理员:个人中心、用户管理、汽车分类管理、汽车品牌管理、汽车颜色管理、汽车信息管理、系统管理、订单管理,功能结构图,如图4-3所示:

图4-3 管理员功能结构图

用户前台;首页、汽车信息、公告信息、个人中心、后台管理、购物车、在线咨询,结构图,如图4-4所示:

图4-4 用户前台结构图

4.3. 数据库设计

4.3.1 数据库实体

管理员信息结构图,如图4-6所示:

图4-6 管理员信息实体结构图

用户信息:用户名、姓名、头像、性别、联系电话,实体属性图,如图4-7所示:

图4-7用户信息实体属性图

汽车信息:汽车名称、分类、品牌、颜色、图片、座位、换挡方式、汽车排量、上市年份、上牌时间、行驶里程,实体属性图如图4-8所示。

图4-8汽车信息实体属性图

4.3.2 数据库设计表

4.4 数据表

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。

allusers表:

序号字段名称字段类型大小允许为空最大长度备注
1idInt410
2username150255
3pwd150255
4cx150255
5addtimeDateTime819

qichexinxi表:

序号字段名称字段类型大小允许为空最大长度备注
1idInt410
2addtime150255
3qichemingcheng150255
4fenleiDateTime8255
5pinpai150255
6yanseDateTime8255
7tupian150255
8zuoweiDateTime8255
8huandangfangshi150255
9qichepailiangDateTime8255
10shangshinianfen150255
11shangpaishijianDateTime8255
12xingshilicheng150255
13qichexiangqingDateTime8255

yonghu表:

序号字段名称字段类型大小允许为空最大长度备注
1idInt410
2addtime150255
3yonghuming150255
4mimaDateTime8255
5xingming150255
6touxiangDateTime8255
7xingbie150255
8lianxidianhuaDateTime8255

qichepinpai表:

序号字段名称字段类型大小允许为空最大长度备注
1idInt410
2addtime150255
4pinpaiDateTime8255

第5章 系统详细设计

5.1管理员功能模块

管理员登录,管理员通过输入用户名、密码等信息进行系统登录,如图5-1所示。

图5-1管理员登录界面图

首页,管理员登录进入斗车交易系统可以查看个人中心、用户管理、汽车分类管理、汽车品牌管理、汽车颜色管理、汽车信息管理、系统管理、订单管理等内容,如图5-2所示。

图5-2管理员首页功能界面图

用户管理,管理员在用户管理页面可以查看用户名、姓名、头像、性别、联系电话等内容,并可根据需要对用户信息进行详情,修改或删除等操作,如图5-3所示。

图5-3用户管理界面图

汽车分类管理,管理员在汽车分类管理页面可以进行新增、详情、修改或删除等操作,如图5-4所示。

图5-4汽车分类管理界面图

汽车颜色管理,管理员在汽车颜色页面可以进行新增、详情,修改,删除操作,如图5-5所示。

图5-5汽车颜色管理界面图

汽车信息管理,管理员在汽车信息页面可以进行查看汽车名称、分类、品牌、颜色、图片、座位、换挡方式、汽车排量、上市年份、上牌时间、行驶里程,可进行新增、详情、修改或删除等操作,如图5-6所示。

图5-6汽车信息管理界面图

系统管理,管理员通过系统管理页面查看在线咨询、轮播图管理、公告信息等进行咨询回复、上传前台首页图片、公告发布进行添加、删除、修改以及查看并对整个系统进行维护等操作,如图5-7所示。

图5-7系统管理界面图

订单管理: 管理员通过订单列表可以查看已退款订单、已完成订单、已发货订单、未支付订单、已取消订单、已支付订单等信息进行详情、或修改删除查操作。,如图5-8所示。

图5-8订单管理界面图

5.2用户前台前功能模块

首页,用户登录进入斗车交易系统首页可以查看首页、汽车信息、公告信息、个人中心、后台管理、购物车、在线咨询等内容,如图5-9所示。

图5-9前台首页功能界面图

用户注册,在用户注册页面通过填写用户名、密码、姓名、性别、联系电话等信息进行注册,如图5-10所示。

图5-10用户注册界面图

用户登录,在用户登录页面可以填写用户名、密码等内容,进行登录,如图5-11所示。

图5-11用户登录界面图

汽车信息,用户在汽车信息页面可以查看汽车名称、分类、品牌、颜色、图片、座位、换挡方式、汽车排量、上市年份、上牌时间、行驶里程等信息,也可根据需要输入汽车信息名称进行搜索,操作,进行收藏、添加购物车、立即购买操作,如图5-12所示。

图5-12汽车信息界面图

个人中心,用户在个人信息页面可以查看用户名、密码、姓名、头像、性别、联系电话等内容,可进行提交操作 ,如图5-13所示。

图5-13个人信息界面图

我的地址,用户在我的地址页面填写联系人、手机号码、默认地址、选择地址进行提交操作,如图5-14所示。

图5-14我的地址界面图

QicheyanseController.java
package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.QicheyanseEntity;
import com.entity.view.QicheyanseView;import com.service.QicheyanseService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 汽车颜色* 后端接口* @author * @email * @date 2021-03-26 08:38:24*/
@RestController
@RequestMapping("/qicheyanse")
public class QicheyanseController {@Autowiredprivate QicheyanseService qicheyanseService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,QicheyanseEntity qicheyanse, HttpServletRequest request){EntityWrapper<QicheyanseEntity> ew = new EntityWrapper<QicheyanseEntity>();PageUtils page = qicheyanseService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qicheyanse), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,QicheyanseEntity qicheyanse, HttpServletRequest request){EntityWrapper<QicheyanseEntity> ew = new EntityWrapper<QicheyanseEntity>();PageUtils page = qicheyanseService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qicheyanse), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( QicheyanseEntity qicheyanse){EntityWrapper<QicheyanseEntity> ew = new EntityWrapper<QicheyanseEntity>();ew.allEq(MPUtil.allEQMapPre( qicheyanse, "qicheyanse")); return R.ok().put("data", qicheyanseService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(QicheyanseEntity qicheyanse){EntityWrapper< QicheyanseEntity> ew = new EntityWrapper< QicheyanseEntity>();ew.allEq(MPUtil.allEQMapPre( qicheyanse, "qicheyanse")); QicheyanseView qicheyanseView =  qicheyanseService.selectView(ew);return R.ok("查询汽车颜色成功").put("data", qicheyanseView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){QicheyanseEntity qicheyanse = qicheyanseService.selectById(id);return R.ok().put("data", qicheyanse);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){QicheyanseEntity qicheyanse = qicheyanseService.selectById(id);return R.ok().put("data", qicheyanse);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody QicheyanseEntity qicheyanse, HttpServletRequest request){qicheyanse.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(qicheyanse);qicheyanseService.insert(qicheyanse);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody QicheyanseEntity qicheyanse, HttpServletRequest request){qicheyanse.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(qicheyanse);qicheyanseService.insert(qicheyanse);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody QicheyanseEntity qicheyanse, HttpServletRequest request){//ValidatorUtils.validateEntity(qicheyanse);qicheyanseService.updateById(qicheyanse);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){qicheyanseService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<QicheyanseEntity> wrapper = new EntityWrapper<QicheyanseEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = qicheyanseService.selectCount(wrapper);return R.ok().put("count", count);}}
DiscussqichexinxiServiceImpl.java
package com.service.impl;import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;import com.dao.DiscussqichexinxiDao;
import com.entity.DiscussqichexinxiEntity;
import com.service.DiscussqichexinxiService;
import com.entity.vo.DiscussqichexinxiVO;
import com.entity.view.DiscussqichexinxiView;@Service("discussqichexinxiService")
public class DiscussqichexinxiServiceImpl extends ServiceImpl<DiscussqichexinxiDao, DiscussqichexinxiEntity> implements DiscussqichexinxiService {@Overridepublic PageUtils queryPage(Map<String, Object> params) {Page<DiscussqichexinxiEntity> page = this.selectPage(new Query<DiscussqichexinxiEntity>(params).getPage(),new EntityWrapper<DiscussqichexinxiEntity>());return new PageUtils(page);}@Overridepublic PageUtils queryPage(Map<String, Object> params, Wrapper<DiscussqichexinxiEntity> wrapper) {Page<DiscussqichexinxiView> page =new Query<DiscussqichexinxiView>(params).getPage();page.setRecords(baseMapper.selectListView(page,wrapper));PageUtils pageUtil = new PageUtils(page);return pageUtil;}@Overridepublic List<DiscussqichexinxiVO> selectListVO(Wrapper<DiscussqichexinxiEntity> wrapper) {return baseMapper.selectListVO(wrapper);}@Overridepublic DiscussqichexinxiVO selectVO(Wrapper<DiscussqichexinxiEntity> wrapper) {return baseMapper.selectVO(wrapper);}@Overridepublic List<DiscussqichexinxiView> selectListView(Wrapper<DiscussqichexinxiEntity> wrapper) {return baseMapper.selectListView(wrapper);}@Overridepublic DiscussqichexinxiView selectView(Wrapper<DiscussqichexinxiEntity> wrapper) {return baseMapper.selectView(wrapper);}}
ConfigController.java

package com.controller;import java.util.Arrays;
import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.service.ConfigService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;/*** 登录相关*/
@RequestMapping("config")
@RestController
public class ConfigController{@Autowiredprivate ConfigService configService;/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,ConfigEntity config){EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();PageUtils page = configService.queryPage(params);return R.ok().put("data", page);}/*** 列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,ConfigEntity config){EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();PageUtils page = configService.queryPage(params);return R.ok().put("data", page);}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){ConfigEntity config = configService.selectById(id);return R.ok().put("data", config);}/*** 详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") String id){ConfigEntity config = configService.selectById(id);return R.ok().put("data", config);}/*** 根据name获取信息*/@RequestMapping("/info")public R infoByName(@RequestParam String name){ConfigEntity config = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));return R.ok().put("data", config);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody ConfigEntity config){
//    	ValidatorUtils.validateEntity(config);configService.insert(config);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody ConfigEntity config){
//        ValidatorUtils.validateEntity(config);configService.updateById(config);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){configService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

声明

本博客适用于广泛的学术和教育用途,包括但不限于个人学习、开发设计,产品设计。仅供学习参考,旨在为读者提供深入理解和学术研究的材料。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【第69课】Java安全JWT攻防Swagger自动化算法签名密匙Druid未授权

免责声明 本文发布的工具和脚本&#xff0c;仅用作测试和学习研究&#xff0c;禁止用于商业用途&#xff0c;不能保证其合法性&#xff0c;准确性&#xff0c;完整性和有效性&#xff0c;请根据情况自行判断。 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利&#xff0…

RM遥控键鼠控制总结

硬件&通信介绍 RM比赛中各个参赛队伍使用的都是大疆官方提供的遥控器套装&#xff0c;包括遥控器和接收机&#xff0c;接收机上共三个引脚&#xff1a;VCC&#xff0c;GND&#xff0c;DBUS&#xff08;数据通道&#xff09;&#xff0c;首次使用需要进行遥控器和接收机配对…

C++类和对象(下):初始化列表、explicit关键字、友元函数、友元类

文章目录 C类和对象9、初始化列表9.1构造函数体赋值9.2初始化列表9.3 explicit&#xff08;显示&#xff09;关键字 10、友元10.1友元函数10.2友元类 C类和对象 9、初始化列表 一个类的构造函数要初始化成员变量有两种方式&#xff0c;一种是构造函数体赋值&#xff0c;另一种…

8.23-docker基础命令学习

docker 1.docker容器 [rootdocker ~]# systemctl start docker[rootdocker ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEcentos latest 5d0da3dc9764 2 years ago 231MB​# 容器执行完就退出了​[rootdocker ~]# docker run -it …

spring框架简介

文章目录 1.Spring的简介2.Spring的起源与发展3.Spring的核心体系介绍4.Spring框架的特点总结5.xml定义bean的相关属性1、class属性、id属性、name属性2、作用域属性3、初始化方法和销毁方法 1.Spring的简介 Spring的英文翻译为春天&#xff0c;可以说是给Java程序员带来了春天…

python爬虫——入门

一、概念 万维网之所以叫做网&#xff0c;是因为通过点击超链接或者进入URL&#xff0c;我们可以访问任何网络资源&#xff0c;从一个网页跳转到另一个网页&#xff0c;所有的相关资源连接在一起&#xff0c;就形成了一个网。 而爬虫呢&#xff0c;听名字就让人想起来一个黏糊…

设计模式篇(DesignPattern - 创建型模式)

目录 模式一&#xff1a;单例模式 一、简介 二、种类 1. 饿汉式(静态常量&#xff09; 1.1. 代码 1.2. 优缺点 2. 饿汉式&#xff08;静态代码块&#xff09; 2.1. 代码 2.2. 优缺点 3. 懒汉式(线程不安全) 3.1. 代码 3.2. 优缺点 4. 懒汉式(线程安全&#xff0c;…

Vulkan入门系列16 - 生成多级纹理贴图( Mipmaps)

一:概述 我们的程序现在可以加载和渲染 3D 模型了。在本章中,我们将再添加一项功能-- Mipmaps 生成。Mipmaps 广泛应用于游戏和渲染软件中,Vulkan 让我们可以完全控制 Mpmaps 的生成方式。 Mipmaps 是预先计算的、缩放的图像。每个新图像的宽度和高度都是前一个图像的一半。…

ssrf漏洞之——漏洞复现

漏洞介绍 SSRF漏洞&#xff1a;SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由恶意访问者构造url&#xff0c;由服务端对此url发起请求的一个安全漏洞。 漏洞原理 SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能&#xff0c;并且没有对目…

(QT-UI)十四、在时间轴上绘制一段段时间片

本系列预计实现 ①刻度上方文字显示&#xff0c; ②时间轴拖动效果&#xff0c; ③时间轴刻度缩放&#xff0c; ④时间轴和其他控件联动显示&#xff0c; ⑤鼠标放置到时间轴&#xff0c;显示具体时间。 ⑥通过定时器&#xff0c;实时更新时间轴 ⑦时间轴上绘制时间片 完…

用excel内容批量建立文件夹

建文件夹是电脑操作过程中比较常见的&#xff0c;但是用EXCEL内容批量建文件夹&#xff0c;这似乎不相关的两个操作&#xff0c;那么怎么实现这样的一个功能&#xff0c;我们需要用到专门的软件进行关联&#xff0c;推荐&#xff1a;可易文件夹批量生成器&#xff0c;这个软件有…

数据结构基础详解(C语言): 栈与队列的详解附完整代码

数据结构 栈 栈的核心重点&#xff1a; 栈是只能从表尾插入和删除的数据结构。 栈的顺序存储结构由两部分组成&#xff0c;top指针和数组。 链栈其实本质就是单链表头插法 文章目录 数据结构 栈1.栈的基本概念1.1 栈的常用操作 2.栈的存储结构2.1 栈的顺序存储结构2.1.1 栈的定…

AVL树的旋转

目录 一、AVL树的概念 二、AVL树节点的定义 三、AVL树的插入 四、AVL树的旋转 4.1右单旋 4.2左单旋 4.3左右双旋 4.4右左双旋 五、AVL树的验证 六、AVL树的性能 一、AVL树的概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化…

【AI绘画】Midjourney提示词详解:精细化技巧与高效实践指南

文章目录 &#x1f4af;Midjourney提示词基础结构1 图片链接1.1 上传流程 2 文字描述3 后置参数 &#x1f4af;Midjourney提示词的文字描述结构全面剖析1 主体主体细节描述2 环境背景2.1 环境2.2 光线2.3 色彩2.4 氛围 3 视角4 景别构图5 艺术风格6 图片制作方法7 作品质量万能…

鸿蒙(API 12 Beta3版)【使用Image完成图片接收器】图片开发指导依赖JS对象

图像接收类&#xff0c;用于获取组件surface id&#xff0c;接收最新的图片和读取下一张图片&#xff0c;以及释放ImageReceiver实例。 开发步骤 添加依赖 在进行应用开发之前&#xff0c;开发者需要打开native工程的src/main/cpp/CMakeLists.txt&#xff0c;在target_link_…

文章中的错字一并替换成正确的字

with open("文件路径"&#xff0c;"模式"&#xff0c;"编码") as file ("r" 是读&#xff0c;"w"是写) with open(r"D:\python-installer\python-code\pythonProject\src\关于文件操作练习/人物介绍.txt",&quo…

PHP酒店宾馆民宿预订系统小程序源码

酒店宾馆民宿预订系统&#xff1a;一键解锁完美旅行住宿新体验 &#x1f31f; 开篇&#xff1a;告别繁琐&#xff0c;拥抱便捷预订新时代 在这个快节奏的时代&#xff0c;每一次旅行的规划都希望能尽可能高效与省心。想象一下&#xff0c;在规划一场说走就走的旅行时&#xf…

docker基本环境搭建

前面在虚拟机centos中搭建的fastdfs和minio分布式文件存储服务都是手动编译安装的&#xff0c;为了方便后续学习&#xff0c;本地开发环境的中间件服务部署&#xff0c;我们将交给docker来部署。下面先进行docker环境搭建。 后续相关教程&#xff08;待更新&#xff09;&#…

iOS RunLoop

一:什么是Runloop Runloop&#xff0c;正如其名&#xff0c;loop表示某种循环&#xff0c;和run放在一起就表示一直在运行着的循环 二:Runloop的创建? iOS并没有提供Runloop的创建方法,因为创建了现场自然会有一个Runloop. 所以只有获取Runloop的方法: NSRunLoop * runloo…

selenium学习记录

1、初识selenium 概述&#xff1a; Selenium是一个Web的自动化测试工具&#xff0c;最初是为网站自动化测试而开发的&#xff0c;类型像我们玩游戏用的按键精灵&#xff0c;可以按指定的命令自动操作&#xff0c;不同是Selenium 可以直接运行在浏览器上&#xff0c;它支持所有…