2 Commits d604962870 ... 9c8a9406b3

Autor SHA1 Mensaje Fecha
  wangkun 9c8a9406b3 Merge remote-tracking branch 'origin/master' hace 1 año
  wangkun 9629324c48 实现了多表联查,CertificateID辅助验证登录 hace 1 año

+ 93 - 0
src/main/java/com/bcn/login_mybatis_demo/controller/GoodsController.java

@@ -0,0 +1,93 @@
+package com.bcn.login_mybatis_demo.controller;
+
+import com.bcn.login_mybatis_demo.pojo.Goods;
+import com.bcn.login_mybatis_demo.service.GoodsService;
+import com.bcn.login_mybatis_demo.util.Result;
+import com.bcn.login_mybatis_demo.util.ResultCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/api/goods")
+public class GoodsController {
+
+    @Autowired
+    private GoodsService goodsService;
+    //获取全部商品
+    @GetMapping("/getAllGoods")
+    public Result getAllGoods() {
+        List<Goods> goodsList = goodsService.getAllGoods();
+        System.out.println("goodsList:"+goodsList);
+        if (goodsList != null && !goodsList.isEmpty()) {
+            return new Result(200, "查询成功", goodsList); // 成功返回
+        } else {
+            return new Result(404, "未找到商品", null); // 未找到商品时返回
+        }
+    }
+    //获取单个商品
+    @RequestMapping("/{id}")
+    public Result getGoodsById(@PathVariable int id) {
+        Goods goods = goodsService.getGoodsById(id);
+        if (goods != null) {
+            return  new Result(200,"获取成功",goods);
+        }
+        else {
+            return new Result(404,"未找到商品",null);
+        }
+    }
+
+    //添加新商品
+    @PostMapping("/add")
+    public Result addGoods(@RequestBody Goods goods) {
+        if (goods.getGoodsname().isEmpty()||goods.getId()==null||goods.getPrice()==null||
+                goods.getInventory()==null) {
+            Result<Goods> result = new Result<>(404, "商品添加失败", goods);
+            System.out.println(result); // 打印成功的 Result 对象
+            return result;
+        }else {
+            goodsService.addGoods(goods);
+            Result<Goods> result = new Result<>(200, "商品添加成功", goods);
+            System.out.println(result); // 打印成功的 Result 对象
+            return result;
+        }
+
+    }
+    //更新商品
+    @PutMapping("/update/{id}")
+    public Result updateGoods(@RequestBody Goods goods) {
+        if (goods.getGoodsname().isEmpty()||goods.getId()==null||goods.getPrice()==null||goods.getInventory()==null) {
+            Result<Goods> result = new Result<>(404, "商品更新失败", goods);
+            System.out.println(result); // 打印成功的 Result 对象
+            return result;
+        }else {
+            goodsService.updateGoods(goods);
+            Result<Goods> result = new Result<>(200, "商品更新成功", goods);
+            System.out.println(result); // 打印成功的 Result 对象
+            return result;
+        }
+    }
+
+    //删除商品
+    @DeleteMapping("/delete/{id}")
+    public String deleteGoods(@PathVariable int id) {
+
+            goodsService.deleteGoods(id);
+
+
+        return "调用了删除";
+    }
+    //查询商品--精准查询
+    //@GetMapping("/searchbyname")
+    //public List<Goods> searchGoods(@RequestParam String name) {
+    //    return goodsService.findGoodsByName(name);
+    //}
+
+    //查询商品--模糊查询
+    @GetMapping("/search")
+    public Result<List<Goods>> searchGoods(@RequestParam String keyword) {
+        List<Goods> goodsList = goodsService.searchGoodsByKeyword(keyword);
+        return new Result<>(200,"查询成功",goodsList);
+    }
+}

+ 41 - 0
src/main/java/com/bcn/login_mybatis_demo/mapper/GoodsMapper.java

@@ -0,0 +1,41 @@
+package com.bcn.login_mybatis_demo.mapper;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.bcn.login_mybatis_demo.pojo.Goods;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Optional;
+
+/**
+* @author Administrator
+* @description 针对表【goods】的数据库操作Mapper
+* @createDate 2024-10-31 10:30:51
+* @Entity .domain.com.bcn.login_mybatis_demo.pojo.Goods
+*/
+@Mapper
+@Repository
+public interface GoodsMapper extends BaseMapper<Goods>  {
+
+    List<Goods> selectAllGoods();
+    List<Goods> selectGoodsByname(String username);
+
+    Goods selectGoodsByid(int id);
+
+    default List<Goods> searchGoodsByKeyword(String keyword) {
+        QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().like(Goods::getGoodsname, keyword)
+                .or().like(Goods::getDescription, keyword)
+                .or().like(Goods::getInventory, keyword)
+                .or().like(Goods::getPrice, keyword)
+                .or().like(Goods::getId, keyword);
+        return selectList(queryWrapper);
+    }
+}
+
+
+
+

+ 15 - 0
src/main/java/com/bcn/login_mybatis_demo/pojo/Certificate.java

@@ -0,0 +1,15 @@
+package com.bcn.login_mybatis_demo.pojo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+@Setter
+@Getter
+public class Certificate {
+    private String Certificate_ID;
+    private String Certificate_owner;
+    private Date Certificate_deadline;
+
+}

+ 32 - 0
src/main/java/com/bcn/login_mybatis_demo/pojo/Goods.java

@@ -0,0 +1,32 @@
+package com.bcn.login_mybatis_demo.pojo;
+
+
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ *
+ *
+ */
+
+
+@Setter
+@Getter
+
+@Data
+@TableName("goods")
+public class Goods implements Serializable {
+    @TableId
+    private Integer id;
+    private String goodsname;
+    private BigDecimal price;
+    private Integer inventory;
+    private String description;
+}

+ 34 - 0
src/main/java/com/bcn/login_mybatis_demo/service/GoodsService.java

@@ -0,0 +1,34 @@
+package com.bcn.login_mybatis_demo.service;
+
+
+import com.bcn.login_mybatis_demo.pojo.Goods;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+
+import java.util.List;
+import java.util.Optional;
+
+/**
+* @author Administrator
+* @description 针对表【goods】的数据库操作Service
+* @createDate 2024-10-31 10:30:51
+*/
+public interface GoodsService  {
+
+
+
+    List<Goods> getAllGoods();
+
+    Goods getGoodsById(int id);
+
+    boolean addGoods(Goods goods);
+
+
+    void deleteGoods(int id);
+
+    boolean updateGoods(Goods goods);
+
+    List<Goods> findGoodsByName(String name);
+
+    List<Goods> searchGoodsByKeyword(String keyword);
+}

+ 67 - 0
src/main/java/com/bcn/login_mybatis_demo/service/serviceImpl/GoodsServiceImpl.java

@@ -0,0 +1,67 @@
+package com.bcn.login_mybatis_demo.service.serviceImpl;
+
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.bcn.login_mybatis_demo.mapper.GoodsMapper;
+import com.bcn.login_mybatis_demo.pojo.Goods;
+import com.bcn.login_mybatis_demo.service.GoodsService;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+import static com.baomidou.mybatisplus.extension.toolkit.Db.list;
+
+/**
+* @author Administrator
+* @description 针对表【goods】的数据库操作Service实现
+* @createDate 2024-10-31 10:30:51
+*/
+@Service
+@Transactional
+public class GoodsServiceImpl implements GoodsService {
+
+    @Autowired
+    private GoodsMapper goodsMapper;
+    @Override
+    public List<Goods> getAllGoods() {
+        return goodsMapper.selectAllGoods();
+    }
+
+    @Override
+    public Goods getGoodsById(int id) {
+        return goodsMapper.selectGoodsByid(id);
+    }
+
+    @Override
+    public boolean addGoods(Goods goods) {
+        return goodsMapper.insert(goods) > 0;
+    }
+
+    @Override
+    public void deleteGoods(int id) {
+        goodsMapper.deleteById(id);
+    }
+
+    @Override
+    public boolean updateGoods(Goods goods) {
+        return goodsMapper.updateById(goods) > 0;
+    }
+
+    @Override
+    public List<Goods> findGoodsByName(String goodsName) {
+       return goodsMapper.selectGoodsByname(goodsName);
+    }
+
+    @Override
+    public List<Goods> searchGoodsByKeyword(String keyword) {
+        return goodsMapper.searchGoodsByKeyword(keyword);
+    }
+}
+
+
+
+

+ 23 - 0
src/main/java/com/bcn/login_mybatis_demo/util/WebConfig.java

@@ -0,0 +1,23 @@
+package com.bcn.login_mybatis_demo.util;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class WebConfig {
+
+    @Bean
+    public WebMvcConfigurer corsConfigurer() {
+        return new WebMvcConfigurer() {
+            @Override
+            public void addCorsMappings(CorsRegistry registry) {
+                registry.addMapping("/**") // 允许所有路径
+                        .allowedOrigins("http://localhost:5173") // 前端地址,允许特定来源
+                        .allowedMethods("GET", "POST", "PUT", "DELETE") // 允许的请求方法
+                        .allowedHeaders("*") // 允许的请求头
+                        .allowCredentials(true); // 是否允许发送Cookie信息
+            }
+        };
+    }
+}

+ 37 - 0
src/main/resources/mapper/GoodsMapper.xml

@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.bcn.login_mybatis_demo.mapper.GoodsMapper">
+
+    <resultMap id="BaseResultMap" type="com.bcn.login_mybatis_demo.pojo.Goods">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="goodsname" column="goodsname" jdbcType="VARCHAR"/>
+            <result property="inventory" column="inventory" jdbcType="INTEGER"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="description" column="description" jdbcType="VARCHAR"/>
+
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,goodsname,inventory,
+        price,description
+    </sql>
+
+    <select id="selectGoodsByname" resultType="com.bcn.login_mybatis_demo.pojo.Goods">
+        select *
+        from  goods
+        where goodsname = #{name}
+    </select>
+    <select id="selectAllGoods" resultMap="BaseResultMap">
+        select *
+        from goods
+    </select>
+    <select id="selectGoodsByid"  resultType="com.bcn.login_mybatis_demo.pojo.Goods">
+        select *
+        from goods
+        where id = #{id}
+    </select>
+
+
+</mapper>