好家伙,写后端,这多是一件美逝.

关于这个项目的代码前面的博客有写 

我的第一个独立项目 - 随笔分类 - 养肥胖虎 - 博客园 (cnblogs.com)

现在,我们登陆进去了,我开始和敌人战斗,诶,打到一百分了,我现在要把这个分数保存起来

 

1.前端先把测试样例写好

 随便写一个测试样例

<template>
<div>
<div ref="stage"></div>
<button @click="http">网络请求测试</button>
</div>
</template> <script>
import { canvas, main_1 } from "panghu-planebattle-esm"
import bus from '../js/eventBus'
export default {
data() {
return {
player: {
id:'',
loginName: 123456,
life: 100,
score: score,
},
}
},
methods:{
http(){
setInterval(() => {
this.axios.post('http://localhost:3312/sys-user/update', this.player)
.then((resp) => { console.log("this is update", resp);
let data = resp.data;
//
if (data.success) {
console.log({
message: '修改成功',
type: 'success'
});
}
})
}, 5000)
}
},

 

 (确实是非常朴实无华的测试样例)

 

2.随后我们来到后端

来到controller类中添加接口

 

    @PostMapping("update")
public CommonResp update(@RequestBody SysUserUpdateReq req){
// zxcv1234
CommonResp resp = new CommonResp<>();
sysUserService.update(req);
return resp;
}

 

3.在req文件下添加一个SysUserUpdateReq类

因为这个我们只做对数据的更新,所以只用LoginName,life,score就可以了

 

package com.wulaoda.loginhouduan.req;

public class SysUserUpdateReq {
private String LoginName; private int life; private int score; public String getLoginName() {
return LoginName;
} public void setLoginName(String loginName) {
LoginName = loginName;
} public int getLife() {
return life;
} public void setLife(int life) {
this.life = life;
} public int getScore() {
return score;
} public void setScore(int score) {
this.score = score;
} @Override
public String toString() {
return "SysUserUpdateReq{" +
"LoginName='" + LoginName + '\'' +
", life=" + life +
", score=" + score +
'}';
}
}

 

4.编写业务

这里Mybatis-plus提供的update方法

嘶,参数看不懂

 然后,改怎么写啊...不会啊...

必应我来了

mybatis-plus入门学习-BaseMapper - 掘金 (juejin.cn)

mybatis-plus update更新操作的三种方式_mybatisplus的uodate_波神小波的博客-CSDN博客

直接就对着抄

 

//数据更新
@Override
public SysUserUpdateResp update(SysUserUpdateReq req){//重写
//网上的例子
// LambdaUpdateWrapper<User> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
// lambdaUpdateWrapper.eq(User::getName, "rhb").set(User::getAge, 18);
// Integer rows = userMapper.update(null, lambdaUpdateWrapper);
LambdaUpdateWrapper<SysUserEntity> wrapper1 = new LambdaUpdateWrapper<>();
wrapper1.eq(SysUserEntity::getLoginName, req.getLoginName()).set(SysUserEntity::getLife, req.getLife());
sysUserMapper.update(null,wrapper1);
return null;
}

 

前端点下按钮,开始测试,

 数据成功修改

 

我的第一个项目(十二) :分数和生命值的更新(后端增删查改的"改")的更多相关文章

  1. Spring Boot 构建电商基础秒杀项目 (十二) 总结 (完结)

    SpringBoot构建电商基础秒杀项目 学习笔记 系统架构 存在问题 如何发现容量问题 如何使得系统水平扩展 查询效率低下 活动开始前页面被疯狂刷新 库存行锁问题 下单操作步骤多,缓慢 浪涌流量如何 ...

  2. Myeclipse/STS 首次在本地部署配置一个Spring MVC 项目 (十二)

    1. 在本地新创建一个文件夹 ,做为项目工作空间; 2. 用 Myeclipse 或 STS 进入该文件夹,该文件夹就成为项目的工作空间: 3. 就要进 窗口-首选项,配置: 环境默认编码: 1> ...

  3. Unity手游之路<十二>手游资源热更新策略探讨

    http://blog.csdn.net/janeky/article/details/17666409 上一次我们学习了如何将资源进行打包.这次就可以用上场了,我们来探讨一下手游资源的增量更新策略. ...

  4. [转]Unity手游之路<十二>手游资源热更新策略探讨

    最近梳理了下游戏流程.恩,本来想写下,但是,还是看前辈的吧 版权声明: https://blog.csdn.net/janeky/article/details/17666409 上一次我们学习了如何 ...

  5. 【学习】Unity手游之路<十二>手游资源热更新策略探讨

    http://blog.csdn.net/janeky/article/details/17666409 =============================================== ...

  6. 网站开发进阶(二十二)HTML UI知识汇总(更新中...)

    HTML知识汇总(更新中...) 1.<iframe> 标签 浏览器支持 所有浏览器都支持 <iframe> 标签. 定义和用法 iframe 元素会创建包含另外一个文档的内联 ...

  7. 65.十一级指针实现百万qq号的增删查改以及排序写入

    运行结果: 内存使用情况: 写入文件排序好的数据: 创建文件地址以及创建十一级指针 char *path = "QQ.txt"; char *sortpath = "QQ ...

  8. .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现

    本篇我将带着大家一起来对Dapper进行下封装并实现基本的增删改查.分页操作的同步异步方法的实现(已实现MSSQL,MySql,PgSQL).同时我们再实现一下仓储层的代码生成器,这样的话,我们只需要 ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试

    最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...

  10. Android小项目之十二 设置中心的界面

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

随机推荐

  1. IM系统功能简版图(v0.1)持续更新

  2. 持续集成环境(5)-Maven安装和配置

    在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目. 安装Maven 1.下载Maven软件到jenkins服务器上 wget https://mirrors.aliyun.com/ ...

  3. 基于5G边缘网关的智慧公交站台应用

    发展智能物联网,有利于提高城市运行效率,优化居民生活体验,促进城市迸发活力.智能物联网已经融合进生活的方方面面,例如最常见.分布最广泛的公交站台,也能够通过物联网实现升级换代,为居民提供更丰富.更便捷 ...

  4. vue input有值但还是验证不通过

    验证失败原因: 因为input自动把输入的值转换为string类型,导致验证失败. 解决方案: 一. Input中的v-model改为v-model.number: 二.rules里面需要加type: ...

  5. 搭建rust开发环境

    1.打开https://www.rust-lang.org/tools/install 下载64位安装器 选择第一项默认安装 安装器会下载安装rust 相关工具链,并添加path C:\Users\z ...

  6. 文本的格式化标签(粗体,斜体)和 <div>和<span>标签(都是双标签)

    上一个笔记有提到各种型号的标题,为了保证文章的美观,又会有除了标题之外的东西,比如粗体,斜体,下划线,删除线和各种分隔 1加粗,<strong><strong/>或者<b ...

  7. time命令详解

    Linux中time命令,我们经常用来计算某个程序的运行耗时,用户态cpu耗时,系统态cpu耗时. 例如: $ time foo real        0m0.003s user        0m ...

  8. 《MySQL是怎样运行的》第六章小结

  9. Asp-Net-Core开发笔记:使用RateLimit中间件实现接口限流

    前言 最近一直在忙(2月份沉迷steam,3月开始工作各种忙),好久没更新博客了,不过也积累了一些,忙里偷闲记录一下. 这个需求是这样的,我之前做了个工单系统,现在要对登录.注册.发起工单这些功能做限 ...

  10. Qt实用技巧:在CentOS上使用linuxdeployqt打包发布qt程序

    前言   之前在ubuntu上发布qt程序相对还好,使用脚本,在麒麟上发布的时候,使用脚本就不太兼容,同时为了实现直接点击应用可以启动应用的效果,使用linuxdeployqt发布qt程序.  本篇文 ...