网站首页 > 开源技术 正文
上一篇的18.零基础开发商城项目:商城数据库初次设计,我们把商品的表设计好了,代码生成完后,在控制器写下代码,save保存商品、list商品列表、info商品详细信息、delete删除商品。
所有代码:
package com.haiyeren.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.haiyeren.entity.GoodsEntity;
import com.haiyeren.service.GoodsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping("/admin/goods")
public class GoodsController {
@Autowired
private GoodsService goodsService;
@PostMapping("save")
public Object save(@RequestBody GoodsEntity entity) {
if (null != entity.getId() && entity.getId() > 0) {
//编辑
entity.setUpdatedAt(LocalDateTime.now());
goodsService.updateById(entity);
} else {
//添加
entity.setCreatedAt(LocalDateTime.now());
entity.setUpdatedAt(LocalDateTime.now());
goodsService.save(entity);
}
Map<String, Object> result = new HashMap<>();
result.put("status", 1);
return result;
}
@GetMapping("list")
public Object list(Integer pageNum, Integer pageSize) {
Map<String, Object> result = new HashMap<>();
QueryWrapper<GoodsEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("id");
// 查询第1页,每页返回5条
Page<GoodsEntity> page = new Page<>(pageNum, pageSize);
IPage<GoodsEntity> iPage = goodsService.page(page, queryWrapper);
result.put("list", iPage.getRecords());
result.put("total", iPage.getTotal());
result.put("status", 1);
return result;
}
@GetMapping("info")
public Object info(Long id) {
Map<String, Object> result = new HashMap<>();
GoodsEntity goodsEntity = goodsService.getById(id);
result.put("status", 1);
result.put("info", goodsEntity);
return result;
}
@PostMapping("delete")
public Object delete(Long id) {
Map<String, Object> result = new HashMap<>();
goodsService.removeById(id);
result.put("status", 1);
return result;
}
}
这不一定是好代码,但这一定是我认为最简单的。或许代码有不足的地方,不能应付所有场景,比如用户奇奇怪怪的操作。这些后面会补充,并及时改善我们的代码
猜你喜欢
- 2024-09-08 Try catch 太烦人了?只需一步一次搞定 Exception
- 2024-09-08 vue多实体参数怎么传?(vue如何传参)
- 2024-09-08 Mybatis-Plus常用的查询方法——看这一篇就够了!「图文例子」
- 2024-09-08 你这代码写得真丑,满屏的try-catch,全局异常处理不会吗?下
- 2024-09-08 mybatis-plus 团队新作 mybatis-mate 轻松搞定企业级数据处理
- 2024-09-08 「Spring Cloud」新闻头条微服务项目:自媒体文章管理
- 2024-09-08 最快MyBatis-Plus入门使用(mybatis-plus-plus)
- 2024-09-08 再也不用写CURD代码了,Mybatis-plus帮你全搞定
- 2024-09-08 MyBatis-Plus快速入门(一)(mybatis-plus-plus)
- 2024-09-08 Mybatis-Plus 详解(二)(mybatisplus in)
你 发表评论:
欢迎- 07-10公司网站建站选择:人工建站和源码建站分析
- 07-10多用途游戏娱乐新闻网站HTML5模板
- 07-10站长教你搭建属于自己的网站(搭建网站的步骤)
- 07-10php宝塔搭建部署实战响应式塑料封条制品企业网站模板源码
- 07-10自适应响应式汽车配件类网站源码 html5高端大气汽车网站织梦模板
- 07-10网站标签怎么设置?(网站标签怎么设置比较好)
- 07-10PageAdmin企业网站制作中踩过的坑
- 07-10豆包给我输出的html在线象棋源码(有点简单)
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)