开发用户注册接口

news2024/9/21 2:44:13

用户表基本结构 

用户头像存放在三方服务器,显示三方服务器地址 

Java采访驼峰命名方法,数据库采用下划线命名法。

 自动生成get、set方法的工具

lombok:在编译阶段,为实体类自动生成setter getter toString

使用步骤:

pom文件中引入依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

在实体上添加注解 

测试是否添加 

等待编译完成找到target文件夹

 在三个实体类都加上注解@Data

接口返回的格式相同,单独创建一个result的实体类

返回类型统一为result

出现报错

添加注解

无参数的构造方法和有参数的构造方法 

三层架构

从controller这层开始编写

编写UserController

package com.wxt.controller;

import com.wxt.pojo.Result;
import com.wxt.pojo.User;
import com.wxt.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;
//    注册接口的请求方式是post,访问路径是register
    @PostMapping("/register")
    public Result register(String username,String password){

//        查询用户
//        alt+enter导入user文件
        User u=userService.findByUserName(username);
        if(u == null){
//        没有占用
//        注册
            userService.register(username,password);
            return Result.success();
        }else {
//            占用
            return Result.error("用户名已被占用");
        }
    }
}

 写完后会发现findByUserName,register报红

原因是service层为提高这样的方法

把光标放在标红处,alt+enter自动在service生成方法

实体类并没有实现这两个方法

把光标放在标红处,alt+enter自动快速生成方法

package com.wxt.service.impl;

import com.wxt.mapper.UserMapper;
import com.wxt.pojo.User;
import com.wxt.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

//把当前类对象注册到容器里面
@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;
    @Override
    public User findByUserName(String username) {
        User u=userMapper.findByUserName(username);
        return u;
    }
    @Override
    public void register(String username, String password) {
//        加密
    }
}

注册不能直接调用userMapper,首先需要对密码做一个加密的处理

密码加密 (Md5Util)

把Md5Util放在utils工具类

提供了getMD5String方法,会把明文密码转化成密文密码

继续编写Mapper层代码

@Mapper
public interface UserMapper {

//    根据用户名查找用户
    @Select("select * from user where username=#{username}")
    User findByUserName(String username);
//    添加
    @Insert("insert into user(username,password,create_time,update_time)"+
    "values(#{ username },#{password},now(),now())")
    void add(String username, String password);
}

Postman进行测试 

返回结果

控制台提示信息

 在Result类加上注解

重新启动项目,进行测试,测试成功

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

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

相关文章

在Spring官网查看Springboot与Java的版本对应关系

查看Spring Boot与Java的版本对应关系&#xff0c;可以按照以下步骤操作&#xff1a; 访问Spring官方网站&#xff0c;进入Spring Boot项目页面。可以通过点击菜单中的“Projects”&#xff0c;然后选择“Spring Boot”来访问。Spring | Home 在Spring Boot的LEARN页签中&…

什么是单元测试?怎么做?

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、什么是单元测试&#xff1f; 单元测试&#xff08;unit testing&#xff09;&#xff0c;是指对软件中的最小可测试单元进行检查和验证。至于“单元”的大小…

ip属地河北切换北京

我们知道&#xff0c;每当电脑或手机连接网络时&#xff0c;都会分配到一个网络IP地址&#xff0c;这个IP地址通常与设备所在的地区网络相关联。然而&#xff0c;出于业务或个人需求&#xff0c;有时我们需要将本机的IP地址切换到其他城市。例如要将IP属地河北切换北京&#xf…

点击 input 框显示弹窗,关闭弹窗给 input 赋值并进行必填校验

背景 在现代Web应用开发中&#xff0c;实现用户友好的输入交互是提升用户体验的关键之一。例如&#xff0c;在表单设计中&#xff0c;通过点击输入框触发弹窗来辅助用户输入&#xff0c;并在关闭弹窗时自动填充输入框并进行必要的校验&#xff0c;可以显著提高表单填写的便捷性…

Python 从入门到实战17(正则表达式操作)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;通过熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 上篇文章我们讨论了正则表达式的语法。今天进一步讨论一下正则表…

代码随想录训练营Day4 | 24. 两两交换链表中的节点 | 19.删除链表的倒数第N个节点 | 面试题 02.07. 链表相交 | 142.环形链表II

今日阅读文档&#xff1a;代码随想录 (programmercarl.com) Leetcode 24. 两两交换链表中的节点 题目描述 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只…

uview-plus 表单校验 相关字段有数据有值的情况下非空验证失败问题

你们好&#xff0c;我是金金金。 场景 uniapp编写h5及小程序&#xff0c;组件库用的uview-plus&#xff0c;在进行表单校验的过程中&#xff0c;数据回显 数量明明是有值的&#xff0c;还是依旧提示填写数量&#xff08;重新再次手动输入才能校验通过&#xff0c;明显是存在问题…

Python 课程6-Pandas 和 Matplotlib库

前言 在数据科学和数据分析领域&#xff0c;Pandas 和 Matplotlib 是两个最常用的 Python 库。Pandas 主要用于数据处理和分析&#xff0c;而 Matplotlib 则用于数据的可视化。它们的结合能够帮助我们快速、直观地展示数据的趋势和规律。在这篇详细的教程中&#xff0c;教程中将…

如何对离线数仓和准实时数仓进行精准把控?

数仓是指将企业中各个业务系统产生的数据进行汇总、清洗、转化和整合&#xff0c;以便为企业提供决策支持和数据分析的存储和管理系统。 离线数仓和准实时数仓&#xff0c;这两种数据仓库模式&#xff0c;各有其特点&#xff0c;根据其特点和适用的应用场景选择合适的仓库模式…

Nginx快速使用

如果本系列文章对您有帮助&#xff0c;可以 star 一下我的 limou-learn-note&#xff0c;求求惹(๑&#xff1e; &#xff1c;)☆♡~ 叠甲&#xff1a;以下文章主要是依靠我的实际编码学习中总结出来的经验之谈&#xff0c;求逻辑自洽&#xff0c;不能百分百保证正确&#xff…

2024桥梁科技两江论坛——第二届桥梁工程安全与韧性学术会议

文章目录 一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询 一、会议详情 二、重要信息 大会官网&#xff1a;https://ais.cn/u/vEbMBz提交检索&#xff1a;EI Compendex、IEEE Xplore、Scopus 三、大会介绍 2024年桥梁科技两江论坛——第二届桥梁工程…

七、结合Landsat、夜光数据建成区提取——K均值聚类和监督分类提取精确的建成区边界

一、前言 前面已经明确K均值聚类确定初步城市边界范围,其实除了使用Arcgis可以实现聚类分析之外,SPSS也可以实现,但是毕竟我们需要在空间层面体现聚类效果,SPSS能实现数据制表的结果,所以还是建议大家采用Arcgis进行聚类分析,前文的聚类分析不是很详细,这里再次详细给大…

刚刚!1区top“灌水”神刊,39天Accepted!真正的沾边可录

01 沾边即录-快刊 1、数据科学类 SCI • 影响因子&#xff1a;2.0-3.0 • 期刊分区&#xff1a;JCR1区&#xff0c;中科院2区-Top • 接收领域&#xff1a;数据科学的进展和应用研究&#xff0c;如&#xff1a;大数据处理和分析、人工智能、物联网、以及数据科学与计算技术的…

uni-app 聊天界面滚动到消息底部

目录 问题 组件 页面 使用的API 总结 问题 当你发一个消息&#xff0c;但是消息却需要你自己向下滑你才能看见&#xff0c;否则一直呗输入框挡住。 组件 scroll-view组件&#xff1a;一般使用scroll-view组件的都采取使用其scroll-into-view或者scroll-to属性。 scroll-…

Spring3-IoC1-IoC容器、基于xml管理bean

目录 IoC容器 概述 依赖注入 IoC容器在Spring中的实现 基于xml管理bean 获取bean 依赖注入 setter注入 构造器注入 特殊值处理 字面量赋值 null值 xml实体 CDATA节 特殊类型属性注入 对象类型属性注入 方式一&#xff1a;引用外部bean 方式二&#xff1a;内部…

设背包密码系统的超递增序列为A=(3,4,9,17,35),乘数t=19,模数k=73,试对good night加密

PS:后续在此基础上更新Java代码 1.超递增序列含义 超递增序列是指一个正整数序列&#xff0c;其中每个元素a[i]&#xff08;i≥2&#xff09;都大于它前面所有元素之和&#xff0c;即a[i] > &#xff08;a[1] a[2] ... a[i-1]&#xff09; 2.加密公式 C&#xff08; B…

html+css+js网页设计 旅游 大理旅游7个页面

htmlcssjs网页设计 旅游 大理旅游7个页面 网页作品代码简单&#xff0c;可使用任意HTML辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#…

信通院发布首个《大模型媒体生产与处理》标准,阿里云智能媒体服务作为业界首家“卓越级”通过

中国信通院近期正式发布《大模型驱动的媒体生产与处理》标准&#xff0c;阿里云智能媒体服务&#xff0c;以“首批首家”通过卓越级评估&#xff0c;并在9大模块50余项测评中表现为“满分”。 当下&#xff0c;AI大模型的快速发展带动了爆发式的海量AI运用&#xff0c;这其中&a…

异构仿真:打造更可靠的综合化航空电子软件

综合化航空电子系统是一类典型的安全关键系统&#xff0c;具有分布式、异构、计算资源和物理资源强耦合等特征。随着IMA&#xff08;Integrated Modular Avionics&#xff0c;综合模块化航空电子&#xff09;系统趋于复杂化和智能化&#xff0c;系统的功能越来越多地采用软件来…

权威认可,信源信息再次斩获国家发明专利

近日&#xff0c;郑州信源信息技术股份有限公司&#xff08;简称“信源信息”&#xff09;继获得“一种安全认证方法及系统”发明专利后&#xff0c;再次喜获国家知识产权局颁发的发明专利“适用于多环境OFD文档的投标文件处理方法及系统”。本次发明专利的获得&#xff0c;不仅…