项目训练营第一天

news2025/1/20 15:38:48

项目训练营第一天

springboot后端环境搭建

1、首先需要找文章下载好tomcat、JDK、maven、mysql、IDEA。(软件下载及环境变量配置略)
2、在下载好的IDEA中,选择新建spring initial项目,选定java web,即可新建一个springboot项目
3、在新建好的pom.xml中,按照网上教程导入spring依赖,用于依赖注入。(这里不懂的需要去补下尚硅谷spring教程,简单看懂即可)

环境使用小技巧

在下载好的IDEA中settings中plugin模块下载MyBatisX插件可以右键建好的数据库表,一键生成对应的UserMapper.xml和UserMapper.java文件,对应我们设计的库表生成相应的实体类,分别放在一些文件夹中
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f5eed5a569d046e087bb024f在这里插入图片描述
第二步中的详细配置如上图所示,生成好后会有一个叫generator的文件夹出现在项目文件中。

下面是移动后的文件夹目录在这里插入图片描述

applications.yml配置

需要配置数据库,mybatis-plus等信息,这里为避免信息泄露就不展示了,网上有详细教程,可自行搜索。

tips

开发过程中会有需要自动生成serial UID的情况,需要在settings里进行修改。修改好后,点击相应的继承了serial类的实体类,按ALT+ENTER会出现黄色图标,点击会出现自动生成serial UID的选项。

注册逻辑编写

业务逻辑:

1、账户名不少于4位
2、密码名不少于8位
3、校验密码不少于8位
4、密码和校验密码必须相同
5、账户名不能重复
6、账户名中不能包含特殊字符
7、密码加密存储到数据库(加密脱敏处理,加盐值字符串)

代码如下:

public long userRegister(String userAccount, String password, String CheckPassword) {
        if (StringUtils.isAnyBlank(userAccount, password, CheckPassword)) {
            return -1;
        }
        if (userAccount.length() < 4) {
            return -1;
        }
        if (password.length() < 8 || CheckPassword.length() < 8) {
            return -1;
        }
        if (!password.equals(CheckPassword)) {
            return -1;
        }
        Pattern compile = Pattern.compile(".*[[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]|\\n|\\r|\\t].*");
        Matcher matcher = compile.matcher(userAccount);
        if (matcher.matches()) {
            return -1;
        }
        QueryWrapper<User> myQuery = new QueryWrapper<>();
        myQuery.eq("userAccount", userAccount);
        long count = this.count(myQuery);
        if (count > 0) {
            return -1;
        }
        String entryPassword = DigestUtils.md5Hex(SALT + password);
        User user = new User();
        user.setUserAccount(userAccount);
        user.setPassword(entryPassword);
        boolean saveResult = this.save(user);
        if (saveResult == false) {
            return -1;
        }
        return user.getId();
    }

QuaryWrapper是数据库myBatis-plus中实现查询的封装类

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

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

相关文章

Pip应用及换源

一、介绍 Pip是Python的包管理器&#xff0c;它用于安装和管理Python的软件包。它是Python标准库的一部分&#xff0c;自从Python 2.7.9和Python 3.4版本开始&#xff0c;它已经内置在Python中&#xff0c;无需单独安装。 通过Pip&#xff0c;用户可以方便地安装、升级和卸载…

健身小程序:智能化助力个人健身旅程

一、智能化功能的核心 健身小程序的智能化功能主要体现在以下几个方面&#xff1a; 智能健身计划推荐&#xff1a;小程序内置了先进的算法&#xff0c;能够根据用户的身体状况、健身目标和时间安排&#xff0c;智能推荐个性化的健身计划。这些计划不仅科学合理&#xff0c;而且…

同三维T80006EHL-4K30CN 单路4K30 HDMI编码器(全国产化)

同三维T80006EHL-4K30CN 单路4K30 HDMI编码器 带1路HDMI环出和1路3.5音频输入&#xff0c;支持4K30&#xff0c;所有元器件全国产 一、 产品简介&#xff1a; T80006EHL-4K30CN 4K编码器&#xff08;采集盒&#xff09;是一款全国产化的专业4K HDMI音视频编码产品&#xff0c;…

第29讲:Ceph集群使用RBD块存储设备与K8S的PV集成

文章目录 1.Ceph集群使用RBD块存储与K8S集成简介2.Ceph集群RBD块存储与K8S PV存储卷集成2.1.创建K8S集群PV使用的块存储2.2.创建K8S集群访问RBD块存储设备的认证用户2.3.将认证用户的Key存储在K8S Secret资源中2.4.在K8S集群的所有节点中安装Ceph命令2.5.创建PV及PVC资源使用RB…

【自动驾驶技术】自动驾驶汽车AI芯片汇总——TESLA篇(FSD介绍)

0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我自己学习的理解&#xff0c;虽然参考了他人的宝贵见解及成果&#xff0c;但是内容可能存在不准确的地方。如果发现文中错误&#xff0c;希望批评指正&#xff0c;共同进步。 本篇文章是这个自动驾驶汽车AI芯片系…

【开源许可证】介绍

文章目录 概述具体总结 概述 开源许可证通常可以分为两大类&#xff1a;宽松式许可证及 Copyleft 许可证&#xff08;也称著作权&#xff09;。二者的差别主要在于宽松度以及与使用开源软件组件相关的要求和许可权限的多少。 当一个开源组件采用 Copyleft 许可证时&#xff0…

Java开发笔记Ⅲ (一些零碎记录)

一些报错处理 找不到注入的对象 可以在 dao 层 的接口上添加 Repository 注解 common 模块报错 Unable to find main class 由于common中只有一些常量与工具类&#xff0c;不需要主类&#xff0c;故出现该错误时只需删除pom文件中的build标签即可解决 网关模块报错 Failed…

STM32学习笔记(九)--串口 UART/USART详解

&#xff08;1&#xff09;配置步骤1.开启RCC外设时钟 开启GPIO以及USART外设2.初始化GPIO 配置TX复用输出 RX输入3.配置USART初始化结构体4.配置串口中断 ITConfig以及NVIC&#xff08;如果需要USART中断&#xff09;5.开启USART &#xff08;2&#xff09;代码示例 案例1 串…

配对交换00

题目链接 配对交换 题目描述 注意点 num的范围在[0, 2^30 - 1]之间&#xff0c;不会发生整数溢出 解答思路 第一个思路是每次取奇数位和偶数位&#xff0c;将两位上的数字交换并根据其所处的位置求得的值与res相加&#xff0c;重复此过程即可第二个思路是将所有的奇数位和…

Python酷库之旅-比翼双飞情侣库(16)

目录 一、xlwt库的由来 1、背景和需求 2、项目启动 3、功能特点 4、版本兼容性 5、与其他库的关系 6、示例和应用 7、发展历史 二、xlwt库优缺点 1、优点 1-1、简单易用 1-2、功能丰富 1-3、兼容旧版Excel 1-4、社区支持 1-5、稳定性 2、缺点 2-1、不支持.xls…

仓库管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;公告管理&#xff0c;物资管理&#xff0c;基础数据管理&#xff0c;用户管理 用户账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;公告管理&#xff0c;物…

华为HCIP Datacom H12-821 卷5

1.单选题 下列哪种工具不能被 route-policy 的 apply 子句直接引用? A、IP-Prefix B、tag C、community D、origin 正确答案&#xff1a; A 解析&#xff1a; 因route-policy工具中&#xff0c; apply 后面跟的是路由的相关属性。 但是ip-prefix是用来匹配路由的工具。 2…

Java基础学习-流程控制语句-顺序结构-分支结构-循环结构

目录 顺序结构&#xff1a; 分支结构&#xff1a; if语句&#xff1a; 第一种格式&#xff1a; if第二种格式&#xff1a; 案例练习 if第三种格式&#xff1a; switch语句&#xff1a; 格式&#xff1a; switch其他知识点&#xff1a; 循环结构&#xff1a; for循环…

[保姆级教程]uniapp配置vueX

文章目录 注意新建文件简单的使用 注意 uniapp是支持vueX的只需配置一下就好 新建文件 在src文件中&#xff0c;新建一个store&#xff08;如果有的话跳过&#xff09; 在store中新建一个js文件&#xff0c;修改js文件名称和选择模板为default 在 uni-app 项目根目录下&…

【C++】拷贝构造函数、拷贝赋值函数与析构函数

C中的拷贝构造函数、拷贝赋值函数与析构函数详解 一、拷贝构造函数&#xff08;Copy Constructor&#xff09;二、拷贝赋值函数&#xff08;Copy Assignment Operator&#xff09;三、析构函数&#xff08;Destructor&#xff09;四、总结 在C中&#xff0c;拷贝构造函数、拷贝…

java-SpringBoot执行定时任务-任务调度-@EnableScheduling和@Scheduled

文章目录 java借助springBoot框架&#xff0c;执行定时任务0. 项目地址1. 需求分析2、新建springBoot项目3. 编写定时任务3.1 开启调度任务3.2 编写定时任务方法 java借助springBoot框架&#xff0c;执行定时任务 0. 项目地址 https://github.com/OrangeHza/JavaDemo 1. 需求…

vue2 TypeError: compiler.plugin is not a function

俩个命令解决&#xff1a; npm i webpack-clilatest npm i webpacklatest

AI项目二十三:危险区域识别系统

若该文为原创文章&#xff0c;转载请注明原文出处。 一、介绍 在IPC监控视频中&#xff0c;很多IPC现在支持区域检测&#xff0c;当在区域内检测到有人闯入时&#xff0c;发送报警并联动报警系统&#xff0c;以保障生命和财产安全具有重大意义。它能够在第一时间检测到人员进入…

提升人工智能大模型的智能

前言 提升人工智能大模型的智能是一个涉及到多方面挑战和策略的复杂问题。下面是一些关键的策略和挑战&#xff0c;可以帮助我们更好地理解和处理这一问题。 策略 模型架构与深度优化&#xff1a; 深度学习架构优化&#xff1a;设计更深、更复杂的神经网络结构&#xff0c;如…

python GUI开发: tkinter菜单创建,记事本和画图软件综合项目的实战演练

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…