用户中心(上)

news2024/12/27 12:43:39

文章目录

    • 企业做项目流程
    • 需求分析
    • 技术选型
    • 计划
      • 初始化项目
      • 数据库设计
      • 登录/注册
      • ⽤户管理(仅管理员可⻅)
    • 初始化项目
      • ⼀、前端初始化
        • 1.下载nodejs
        • 2.Ant Design Pro
        • 相关问题
          • 1.前端项目启动时报错、无法启动?
          • 2.如何初始化前端项目?为什么初始化命令和鱼皮视频中的不同?为什么没有umi@3选项?
      • 二、后端初始化
        • 数据库
        • 方法一(不推荐)
        • 方法二
        • 方法三(推荐)
          • 流程

企业做项目流程

需求分析=>设计(概要设计,详细设计)=>技术选型 =>初始化/引入需要的技术=>
写demo=>写代码(实现业务逻辑)=>测试(单元测试)=>代码提交/代码评审=>部署=> 发布

需求分析

**1.登录/注册 **
**2.用户管理(仅管理员可见)对用户的的查询或修改 **
**3.用户校验(仅星球用户) **

技术选型

前端:三件套+React+组件库Ant Design+Umi+Ant Design Pro(现成的管理系统)
后端:
java
spring(依赖注入框架,帮助你管理Java对象,集成一些其他的内容)
springmvc(web框架,提供接口访问、restfu接口等能力)
mybatis(Java操作数据库的框架,持久层框架,对jdbc的封装)
mybatis-.plus(对mybatis的增强,不用写sql也能实现增删改查)
springboot(快速启动/快速集成项目。不用自己管理spring配置,不用自己整合各种框架)
junit 单元测试库
mysql
部署:服务器/容器(平台)

计划

初始化项目

1.前端初始化 ✔️

  1. 前端初始化

  2. 引入一些组件之类的

  3. 框架介绍/瘦身

2.后端初始化 ✔️

  1. 准备环境(MySql之类的)

  2. 引入框架

数据库设计

登录/注册

  1. 前端
  2. 后端

⽤户管理(仅管理员可⻅)

  1. 前端
  2. 后端

初始化项目

本项目Node.js请使用v16版本,JDK请使用8版本,Spring Boot使用2.x版本!

⼀、前端初始化

1.下载nodejs
2.Ant Design Pro
相关问题
1.前端项目启动时报错、无法启动?

大概率是本地环境、依赖版本和鱼皮的不一致,或者是文件权限问题,Node,js版本最好使用v16(鱼皮的是v16.20.0),如果不是的话建议去Node.js官方网站重新下载安装Node,或者使用nvm(Node.js版本管理工具)来切换多个不同的Node.js版本。

2.如何初始化前端项目?为什么初始化命令和鱼皮视频中的不同?为什么没有umi@3选项?

因为本项目使用的前端框架Ant Design Pro在持续更新,请以官方文档最新的初始化命令为主。
官方文档:https::/pro.ant.design/zh-CN/docs/getting-started
知道去看官方文档,你就能少走很多坑。
如果跟着视频做报错了,那么先去看最新官方文档上的命令和用法,或者切换文档版本为和视频一致。如果还有报错,那么就把错误信息贴到百度去查询。

如果你还想用umi@3和umi ui怎么办呢?

更新后的框架不能满足需求,那我们用更新前的不就好了???

执行命令安装老版本的脚手架:

npm i @ant-design/pro-cli@3.1.0 -g

然后使用pro-v查看版本号,保证是3.1.0,即可出现umi@3的选项:
image.png

选择框架版本时,一定要选V3!!!使用v4版本不支持umi ui悬浮按钮。
image.png

注意:像截图这里没有让你选择 umi3 还是 umi4 的,因为官方默认最新版本,就先按 ctrl+c 回退。
先卸载上面的版本npm uninstall -g @ant-design/pro-cli
选择这个方式安装指定版本npm install -g @ant-design/pro-cli@3.1.0
这样接着pro create myapp就可以选择版本了,我们选 umi3

升降级nodejs的博客

有可能nodejs和你的版本不匹配,可能nodejs版本过高,要么降低版本,要么把 start 这一行改成这样"start": "set NODE_OPTIONS=--openssl-legacy-provider && cross-env UMI_ENV=dev umi dev",

然后是 umi ui 的下载
yarn add @umijs/preset-ui -D

二、后端初始化

数据库

MySQL 5.7

方法一(不推荐)

去 GitHub 上面搜索 SpringBoot 模板,但从0开始做或者企业化做就最好不要

方法二

Spring官网的模板生成器

因为现在官网不支持java8,通过阿里云国服去间接创建Spring项目修改Server URL为https://start.aliyun.com

image.png
阿里云Spring模板生成器

方法三(推荐)

直接在 IDEA开发工具里生成
如果要引入java的包,可以去maven中心仓库寻找(http:/mvnrepository…com/)
直接在 IDEA开发工具里生成

流程
  1. 创建项目
  2. 点击右侧的 database 登录连接数据库
  3. 编写demo

MyBatis-Plus官方文档

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user`
(
    id    BIGINT      NOT NULL COMMENT '主键ID',
    name  VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    age   INT         NULL DEFAULT NULL COMMENT '年龄',
    email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY (id)
);

DELETE FROM `user`;

INSERT INTO `user` (id, name, age, email) VALUES 
    (1, 'Jone', 18, 'test1@baomidou.com'),
    (2, 'Jack', 20, 'test2@baomidou.com'),
    (3, 'Tom', 28, 'test3@baomidou.com'),
    (4, 'Sandy', 21, 'test4@baomidou.com'),
    (5, 'Billie', 24, 'test5@baomidou.com');

执行demo
image.png

  1. 引入依赖
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-boot-starter</artifactId>
	<version>3.5.1</version>
</dependency>
  1. 配置文件 application.yml

原来是 application.properties,改为了 .yml

spring:
  application:
    name: user-center
  datasource:
    url: jdbc:mysql://localhost:3306/ania
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
server:
  port: 8080

这里要配置不然启动项目会因为 MyBatis 没配置而出错

  1. 创建 mapper 包

@SpringBootApplication
@MapperScan("com.hsu.usercenter.mapper")
public class UserCenterApplication {

    public static void main(String[] args) {
       SpringApplication.run(UserCenterApplication.class, args);
    }

}

在类上添加 @MapperScan("com.hsu.usercenter.mapper")

  1. 创建 model 包

复制 User 到 model 包

@Data
@TableName("`user`")
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

复制 UserMapper 到 mapper 包

public interface UserMapper extends BaseMapper<User> {

}

这里 BaseMapper 官方已经提供了很多方法了

  1. 编写测试类

@SpringBootTest
public class SampleTest {

    @Autowired
    private UserMapper userMapper;

    @Test
    public void testSelect() {
        System.out.println(("----- selectAll method test ------"));
        List<User> userList = userMapper.selectList(null);
        Assert.isTrue(5 == userList.size(), "");
        userList.forEach(System.out::println);
    }

}

记得导入对应的包
引入 Java 的包去 Maven 中心仓库
运行测试即可

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

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

相关文章

SpringCloud之OpenFeign

学习笔记&#xff1a; 官网地址&#xff1a;https://docs.spring.io/spring-cloud-openfeign/docs/current/reference/html/#spring-cloud-feign 源码&#xff1a;https://github.com/spring-cloud/spring-cloud-openfeign 1、概念总结 OpenFeign是一个声明式的Web服务客户端…

[python数据处理系列] 深入理解与实践基于聚类的过采样与欠采样技术:以K-Means为例

目录 一、过采样介绍 (一)什么是过采样 (二)过采样的优点 (三)过采样的缺点 二、欠采样介绍 (一)什么是欠采样 (二)欠采样的优点 (三)欠采样的缺点 三、基于聚类的欠抽样方法(K-Means欠采样/KMeans-Undersampling) (一)KMeans欠采样原理及其步骤介绍 (二)为什么不采…

上海亚商投顾:沪指创年内新高 房地产板块掀涨停潮

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数昨日继续反弹&#xff0c;沪指盘中涨超1%&#xff0c;重返3100点上方&#xff0c;深成指涨超2%&#…

ArcGIS小技巧—坐标系匹配

坐标系&#xff1a;&#xff08;Coordinate System&#xff09;&#xff1a;在一些书籍和软件中也叫做空间参考&#xff0c;简单来说&#xff0c;有了坐标系&#xff0c;我们才能够用一个或多个“坐标值”来表达和确定空间位置。没有坐标系&#xff0c;坐标值就无从谈起&#x…

IP定位技术企业网络安全检测

随着信息技术的飞速发展&#xff0c;网络安全问题日益凸显&#xff0c;成为企业运营中不可忽视的一环。在众多网络安全技术中&#xff0c;IP定位技术以其独特的优势&#xff0c;为企业网络安全检测提供了强有力的支持。本文将深入探讨IP定位技术在企业网络安全检测中的应用及其…

在idea中连接mysql

IDE&#xff08;集成开发环境&#xff09;是一种软件应用程序&#xff0c;它为开发者提供编程语言的开发环境&#xff0c;通常集成了编码、编译、调试和运行程序的多种功能。一个好的IDE可以大幅提高开发效率&#xff0c;尤其是在进行大型项目开发时。IDE通常包括以下几个核心组…

Excel 批量获取sheet页名称,并创建超链接指向对应sheet页

参考资料 用GET.WORKBOOK函数实现excel批量生成带超链接目录且自动更新 目录 一. 需求二. 名称管理器 → 自定义获取sheet页名称函数三. 配合Index函数&#xff0c;获取所有的sheet页名称四. 添加超链接&#xff0c;指向对应的sheet页 一. 需求 ⏹有如下Excel表&#xff0c;需…

(三十一)第 5 章 数组和广义表(稀疏矩阵的三元组行逻辑链接的顺序存储表示实现)

1. 背景说明 2. 示例代码 1)errorRecord.h // 记录错误宏定义头文件#ifndef ERROR_RECORD_H #define ERROR_RECORD_H#include <stdio.h> #include <string.h> #include <stdint.h>// 从文件路径中提取文件名 #define FILE_NAME(X) strrchr(X, \\) ? strrch…

Servlet(三个核心API介绍以及错误排查)【二】

文章目录 一、三个核心API1.1 HttpServlet【1】地位【2】方法 1.2 HttpServletRequest【1】地位【2】方法【3】关于构造请求 1.3 HttpServletResponse【1】地位【2】方法 四、涉及状态码的错误排查&#xff08;404……&#xff09;五、关于自定义数据 ---- body或query String …

Linux网络抓包工具tcpdump是如何实现抓包的,在哪个位置抓包的?

Linux网络抓包工具tcpdump是如何实现抓包的&#xff0c;在哪个位置抓包的&#xff1f; 1. tcpdump抓包架构2. BPF介绍3. 从内核层面看tcpdump抓包流程3.1. 创建socket套接字3.2. 挂载BPF程序 4. 网络收包抓取5. 网络发包抓取6. 疑问和思考6.1 tcpdump抓包跟网卡、内核之间的顺序…

ffmpeg音视频裁剪

音视频裁剪&#xff0c;通常会依据时间轴为基准&#xff0c;从某个起始点到终止点的音视频截取出来&#xff0c;当然音视频文件中存在多路流&#xff0c;所对每一组流进行裁剪 基础概念&#xff1a; 编码帧的分类&#xff1a; I帧(Intra coded frames): 关键帧&#xff0c;…

linux(ubuntu18.04.2) Qt编译 MySQL(8.0以上版本)链接库 Qt版本 5.12.12及以上 包含Mysql动态库缺失问题

整理这篇文档的意义在于&#xff1a;自己走了很多弯路&#xff0c;淋过雨所以想为别人撑伞&#xff0c;也方便回顾&#xff0c;仅供参考 一、搭建开发环境&#xff1a; 虚拟机&#xff08;ubuntu-20.04.6-desktop-amd64&#xff09;&#xff1a;Mysql数据库 8.0.36Workbench …

pytorch库 01 安装Anaconda、Jupyter,Anaconda虚拟环境连接pycharm

文章目录 一、安装Anaconda1、卸载Anaconda&#xff08;可选&#xff09;2、下载并安装Anaconda3、配置环境变量4、桌面快捷方式 二、安装 PyTorch&#xff08;GPU 版&#xff09;库1、创建虚拟环境&#xff0c;并安装一些常用包2、GPU 基础3、检查驱动4、安装CUDA&#xff08;…

数字化转型新篇章:企业通往智能化的新范式

早在十多年前&#xff0c;一些具有前瞻视野的企业以实现“数字化”为目标启动转型实践。但时至今日&#xff0c;可以说尚无几家企业能够在真正意义上实现“数字化”。 在实现“数字化”的征途上&#xff0c;人们发现&#xff0c;努力愈进&#xff0c;仿佛终点愈远。究其原因&a…

Springboot+Vue项目-基于Java+MySQL的校园外卖服务系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

企业营销战略新思考:营销5.0与开源AI智能名片S2B2C商城小程序引领私域流量经营新纪元

随着互联网的深入发展&#xff0c;企业营销战略已经不再是单一、静态的规划&#xff0c;而是一个持续进化、与市场紧密相连的动态过程。在这个过程中&#xff0c;营销5.0和开源AI智能名片S2B2C商城小程序的结合&#xff0c;为企业营销战略注入了新的活力&#xff0c;也为私域流…

EasyRecovery数据恢复软件2025永久免费电脑版下载

EasyRecovery数据恢复软件是一款业界知名的数据恢复工具&#xff0c;它凭借强大的恢复能力和广泛的数据兼容性&#xff0c;帮助用户从各种存储设备中恢复丢失或删除的数据。以下是关于EasyRecovery数据恢复软件的详细介绍。 EasyRecovery绿色破解下载网盘链接: https://pan.ba…

《QT实用小工具·四十七》可交互的创意动态按钮

1、概述 源码放在文章末尾 该项目实现了可交互的创意动态按钮&#xff0c;包含如下功能&#xff1a; 所有颜色自定义 鼠标悬浮渐变 两种点击效果&#xff1a;鼠标点击渐变 / 水波纹动画&#xff08;可多层波纹叠加&#xff09; 额外鼠标移入/移出/按下/弹起的实时/延迟共8种事…

2024最新版JavaScript逆向爬虫教程-------基础篇之常用的编码与加密介绍(python和js实现)

目录 一、编码与加密原理1.1 ASCII 编码1.2 详解 Base641.2.1 Base64 的编码过程和计算方法1.2.2 基于编码的反爬虫设计1.2.3 Python自带base64模块实现base64编码解码类封装 1.3 MD5消息摘要算法1.3.1 MD5 介绍1.3.2 Python实现md5以及其他常用消息摘要算法封装 1.4 对称加密与…

在kuboard中添加k8s集群

1.登录kuboard后&#xff0c;点击添加集群面板 系统会跳转到k8s集群添加页面&#xff0c;按照页面提示输入自身的集群信息即可&#xff0c;此处没有什么难点。 添加成功后&#xff0c;点击集群面板&#xff0c;然后点击集群概要信息&#xff0c;就可以查看集群节点信息。 集群节…