网页端五子棋对战(二)---数据库连接用户登录注册接口设计postman验证

文章目录

  • 1.用户模块--数据库的设计
    • 1.1idea新建db.sql文件
    • 1.2mysql建库建表
  • 2.使用mybatis操作数据库
    • 2.1修改spring配置文件
    • 2.2创建实体类用户user
    • 2.3创建Mapper接口
    • 2.4实现xml配置文件
  • 3.前后端交互接口架构
  • 4.后端代码实现
    • 4.1登录模块
    • 4.2注册模块
    • 4.3获取用户信息
  • 5.postman验证接口

1.用户模块–数据库的设计

1.1idea新建db.sql文件

image-20241202172342433

create database if not exists java_gobang;use java_gobang;drop table if exists user;create table user (userId int primary key auto_increment,username varchar(50) unique,password varchar(50),score int,totalCount int,winCount int
);insert into user values (null,'zhangsan','123',1000,0,0);
insert into user values (null,'lisi','123',1000,0,0);
insert into user values (null,'wangwu','123',1000,0,0);

1.2mysql建库建表

直接把上面写的这个代码复制粘贴到我们的管理员终端即可(需要先登录欧);

image-20241202172914373

这个时候,我们就会发现这个库和表都是成功创建的:

image-20241202173044275

2.使用mybatis操作数据库

2.1修改spring配置文件

这个默认生成的是properties配置文件,但是我们可以使用更流行的yum文件,如图所示,这个里面的相关的配置可以从之前的项目里面拿,基本大同小异,就是这个名字改一下;

image-20241202180209276

2.2创建实体类用户user

根据我们的mysql数据库里面的内容,创建这个实体类user,里面的属性也是和我们的数据库一一对应的;

生成对应的这个set和get方法,方便后续的使用(也可以使用注解Data)

image-20241202180604783

2.3创建Mapper接口

这个接口里面就是两个函数,插入的insert和查询的select,而且是通过名字进行查询的;(这个有个小问题,需要加上@Mapper注解,否则我们的spring是无法识别这个类的,记得添加上欧);

image-20241202180726520

2.4实现xml配置文件

这个配置文件需要和我们的yum文件里面的这个一致(不一定需要和我的一样,只要是这个路径一致即可,名字一致即可);

然后就是实现mapper里面的两个接口,insert里面使用的这个nul代表我们的自增主键;

image-20241202181020880

3.前后端交互接口架构

1)涉及到三个接口,第一个就是我们的登录接口,是post请求;

2)注册接口register,实现的就是注册的情况,也是post请求;

3)实现userInfo表示获取这个用户的信息,例如积分之类的,是get请求;

image-20241202182608468

4.后端代码实现

4.1登录模块

image-20241202190329071

4.2注册模块

用户的名字重复的时候,是无法注册成功的,因此这个时候我们使用try-catch语句捕获异常进行处理;

image-20241202190343777

4.3获取用户信息

这个和上面的登录模块里面的区别就是比我们的这个getSession里面的参数是false,就是这个如果不存在,我们不会创建新的回话,要求更加严格;

image-20241202190359828

5.postman验证接口

可以看到我自己的这个第一次是把

image-20241202220850823

下面的这个就是我们的postman 使用的时候需要给的参数,以及获得的这个响应,post请求:

image-20241202220829484

当然对于其他的两个接口,也是可以进行验证的,需要注意的就是我们的获取用户信息是get请求:

image-20241202221354351

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

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

相关文章

【导航查询】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…

谷歌浏览器中搜索引擎的设置与管理

谷歌浏览器作为全球最受欢迎的网络浏览器之一,以其高速、稳定和丰富的功能深受用户喜爱。对于许多用户来说,自定义和管理搜索引擎是提升浏览体验的重要一环。本文将详细介绍如何在谷歌浏览器中设置和管理搜索引擎,包括如何修改默认搜索引擎、…

【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程

文章目录 【Linux 篇】Docker 容器星河与镜像灯塔:Linux 系统下解锁应用部署奇幻征程前言一 、docker上部署mysql1. 拉取mysql镜像2. 创建容器3. 远程登录mysql 二 、docker上部署nginx1. 拉取nginx镜像2. 在dockerTar目录下 上传nginx.tar rz命令3. 创建nginx容器4…

vue.js学习(day 18)

实例:面经基础版

XGBoost算法原理

XGBoost(eXtreme Gradient Boosting)是一种基于梯度提升决策树的机器学习算法,它通过优化损失函数来构建模型。XGBoost在许多数据科学竞赛中取得了成功,并且由于其高效性和准确性而广受好评。 1. 梯度提升框架 在开始讨论XGBoost…

vim插件管理器vim-plug替代vim-bundle

文章目录 vim-plug与vim-bundle对比vim-plug安装vim-plug管理安装插件相关文章 vim-plug与vim-bundle对比 vim-plug 和 vim-bundle 都是 Vim 的插件管理器,但它们有一些关键的区别。以下是两者的主要对比: 易用性和简洁性 vim-plug: 易用性: vim-plug …

LeetCode78:子集

链接:78. 子集 假设我们要求[1, 2, 3]的子集: 我们知道[1, 2]的子集是A: 而[1, 2, 3]就是比[1, 2]多了一个元素3;所以将3加入到上述A中的每个集合中,得到一个新集合B: 结论:[1, 2, 3]的子集就…

【k8s】监控metrics-server

metrics-server介绍 Metrics Server是一个集群范围的资源使用情况的数据聚合器。作为一个应用部署在集群中。Metric server从每个节点上KubeletAPI收集指标,通过Kubernetes聚合器注册在Master APIServer中。为集群提供Node、Pods资源利用率指标。 就像Linux 系统一样…

如何具体实现商品详情的提取?

在电商领域,获取商品详情信息对于市场分析、价格比较、商品推荐等应用场景至关重要。本文将详细介绍如何使用Java编写爬虫程序,以合法合规的方式获取淘宝商品的详情信息,并提供详细的代码示例。 1. 环境准备 在开始编写爬虫之前,…

电子电气架构 --- E/E(电子电气架构)的重新定义

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源&…

HCIE IGP双栈综合实验

实验拓扑 实验需求及解法 本实验模拟ISP网络结构,R1/2组成国家骨干网,R3/4组成省级网络,R5/6/7组成数据中 心网络。 配置所有ipv4地址,请自行测试直连。 R1 sysname R1 interface GigabitEthernet0/0/0ip address 12.1.1.1 255.…

5、防火墙一

防火墙的含义 firewalld:隔离功能 病毒防护: 1、入侵检测系统:在互联网访问的过程中,不阻断任何网络访问,也不会定位网络的威胁,提供告警和事后的监督,类似于监控。 2、入侵防御系统&#x…

5G学习笔记之随机接入

目录 1. 概述 2. MSG1 2.1 选择SSB 2.2 选择Preamble Index 2.3 选择发送Preamble的时频资源 2.4 确定RA-RNTI 2.5 确定发送功率 3. MSG2 4. MSG3 5. MSG4 6. 其它 6.1 切换中的随机接入 6.2 SI请求的随机接入 6.3 通过PDCCH order重新建立同步 1. 概述 随机接入…

【落羽的落羽 C语言篇】指针·之其五

文章目录 一、冒泡排序二、qsort排序1. qsort使用指南2.回调函数3. qsort函数的模拟实现 一、冒泡排序 冒泡排序的核心思想就是:两两相邻的元素进行比较和交换。 现在,我们想编写一个函数,使它能够运用冒泡排序的原理,由小到大排…

Ajax基础总结(思维导图+二维表)

一些话 刚开始学习Ajax的时候,感觉很模糊,但是好像学什么都是这样的,很正常,但是当你学习的时候要持续性敲代码,边敲代码其实就可以理解很多了。然后在最后的总结,其实做二维表之后,就可以区分…

具有多个表盘、心率传感器、指南针和游戏的 DIY 智能手表

在此,我们将使用所学到的知识,结合使用硬件和软件组件从头开始创建自己的智能手表。在项目的这一部分,您将被指导完成组装硬件组件、设置软件以及配置智能手表的设置和功能的过程。到本项目结束时,您将拥有一款功能齐全的智能手表…

算法魅力之牛叉的前缀和

1.什么是前缀和 前缀和算法(Prefix Sum Algorithm) 是一种常用的算法技巧,用于快速计算数组的某些子数组的和。它通过提前计算出数组中元素的累加和,来加速后续的区间和查询,特别适用于需要频繁查询子数组和的场景。 …

Java JVM(内存结构,垃圾回收,类加载,内存模型)

一、JVM 主要功能 1. 什么是 jvm? JVM(Java Virtual Machine):负责运行 Java 程序的核心组件。它将 Java 字节码(.class 文件)解释或编译为机器代码,并提供内存管理、垃圾回收和线程管理等功能。 JRE (J…

机器学习基础之集成学习

集成学习(Ensemble Learning)是一种强大的机器学习方法,它通过结合多个模型的预测结果来提高整体的学习效果。集成学习方法在许多实际应用中表现出了优秀的性能,尤其在处理复杂问题时,它常常能够比单一模型取得更好的结…

33 基于单片机的智能窗帘控制系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机,采用DHT11温湿度传感器检测温湿度,滑动变阻器连接ADC0832数模转换器转换模拟,光敏传感器,采用GP2D12红外传感器,通过LCD1602显示屏显示…