SpringBoot实现物品收藏功能

下面为你详细讲解如何使用 SpringBoot 实现物品收藏功能:

概述

使用 SpringBoot 可以简单快捷地实现 Web 应用的开发,本文将以 SpringBoot 为基础,使用 Maven 作为项目构建工具,使用 Thymeleaf 模板引擎渲染页面,使用 Hibernate 框架操作 MySQL 数据库,实现物品收藏功能。

前期准备

工具准备

  • IntelliJ IDEA(或其他 IDE)
  • JDK8
  • Maven
  • MySQL

项目初始化

在 IntelliJ IDEA 中新建一个 Maven 项目,选择 Spring Initializr,填写项目信息,勾选 Spring Web、Thymeleaf、Spring Data JPA、MySQL Connector/J 等依赖,并完成项目的创建。

数据库环境准备

在 MySQL 中新建一个数据库(如 mydb),并执行以下 SQL 语句创建一张 goods 表:

CREATE TABLE `goods` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `price` decimal(10,2) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

实现步骤

编写实体类

新建一个 Goods 实体类,使用 JPA 标准注解 @Entity 定义实体,@Id 定义主键,@GeneratedValue 定义主键生成策略为自增长。

@Entity
public class Goods {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    private String name;

    private BigDecimal price;

    // getter 和 setter 略

}

编写 Repository 接口

新建一个 GoodsRepository 接口,继承 JpaRepository 接口,即可获得许多常用的查询方法。

public interface GoodsRepository extends JpaRepository<Goods, Integer> {

}

编写 Service 类

新建一个 GoodsService 类,使用 @Service 注解将其标记为 Spring 的 Bean,实现添加商品和查询商品列表的方法。

@Service
public class GoodsService {

    @Autowired
    private GoodsRepository goodsRepository;

    public void saveGoods(Goods goods) {
        goodsRepository.save(goods);
    }

    public List<Goods> getAllGoods() {
        return goodsRepository.findAll();
    }

}

编写 Controller 类

新建一个 GoodsController 类,使用 @Controller 注解将其标记为 Spring MVC 的 Controller,实现商品添加和商品列表展示的方法。

@Controller
public class GoodsController {

    @Autowired
    private GoodsService goodsService;

    @GetMapping("/goods/add")
    public String addGoods() {
        return "addGoods";
    }

    @PostMapping("/goods/save")
    public String saveGoods(Goods goods) {
        goodsService.saveGoods(goods);
        return "redirect:/goods/list";
    }

    @GetMapping("/goods/list")
    public String getAllGoods(Model model) {
        List<Goods> goodsList = goodsService.getAllGoods();
        model.addAttribute("goodsList", goodsList);
        return "goodsList";
    }

}

编写 Thymeleaf 模板

新建一个 addGoods.html 模板,实现商品添加界面的渲染:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Add Goods</title>
</head>
<body>
<h1>Add Goods</h1>
<form action="/goods/save" method="post">
    <label for="name">Name:</label>
    <input type="text" id="name" name="name" required="required"/>
    <br/>
    <label for="price">Price:</label>
    <input type="text" id="price" name="price" required="required"/>
    <br/><br/>
    <input type="submit" value="Submit"/>
</form>
</body>
</html>

新建一个 goodsList.html 模板,实现商品列表界面的渲染:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Goods List</title>
</head>
<body>
<h1>Goods List</h1>
<table>
    <tr>
        <th>Id</th>
        <th>Name</th>
        <th>Price</th>
    </tr>
    <tr th:each="goods : ${goodsList}">
        <td th:text="${goods.id}"></td>
        <td th:text="${goods.name}"></td>
        <td th:text="${goods.price}"></td>
    </tr>
</table>
</body>
</html>

运行项目

在 MySQL 中插入一些商品数据,运行 SpringBoot 项目,即可在浏览器中访问 http://localhost:8080/goods/add,进入商品添加界面,添加一些商品数据后,再访问 http://localhost:8080/goods/list,即可查看商品列表。

示例说明

示例1:添加商品

在浏览器中访问 http://localhost:8080/goods/add,进入商品添加界面,输入商品名称和价格,点击提交按钮即可添加一件商品。

示例2:查看商品列表

在浏览器中访问 http://localhost:8080/goods/list,即可查看所有已添加的商品。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot实现物品收藏功能 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • java实现上传和下载工具类

    当我们需要在Java程序中实现文件上传和下载的功能时,可以采用Java的IO类来实现。下面是实现上传和下载功能的步骤。 1. 上传文件 1.1 上传文件的前端HTML页面 在上传文件的前端页面中,我们需要使用到input标签和form标签。如下所示: <form action="/upload" method="POST&…

    Java 2023年5月19日
    00
  • SpringMVC项目访问controller时候报404的解决

    当我们在SpringMVC项目中访问controller时,有时候会遇到404错误,这可能是由于多种原因引起的。本文将提供一些解决404错误的方法,并提供两个示例来说明这些方法的使用。 方法一:检查请求路径 当我们访问controller时,首先要检查请求路径是否正确。如果请求路径不正确,服务器将无法找到相应的controller,从而返回404错误。以下是…

    Java 2023年5月17日
    00
  • Java毕业设计实战之养老院管理系统的实现

    Java毕业设计实战之养老院管理系统的实现攻略 一、项目概述 养老院管理系统是一款基于Java语言开发的管理系统,可实现对养老院人员、床位等资源进行管理,并可对养老院内发生的事情进行记录、统计和分析,让养老院管理更加高效、便捷。 二、项目特点 采用MVC架构,运用Spring Boot、MyBatis等框架和技术实现系统开发。 实现对登录的权限分配,管理员用…

    Java 2023年5月24日
    00
  • Java配置DBeaver的详细步骤

    以下是Java配置DBeaver的详细步骤: 步骤一:下载并安装DBeaver 1.前往DBeaver官网,下载对应操作系统的安装包。例如:Windows系统下载dbeaver-ce-x.y.z-x64-setup.exe。 2.双击exe文件,按照向导提示安装DBeaver。 步骤二:安装MySQL驱动 1.前往MySQL官网,下载对应版本的MySQL C…

    Java 2023年6月1日
    00
  • ShardingJdbc读写分离的BUG踩坑解决

    以下是“ShardingJdbc读写分离的BUG踩坑解决”的详细攻略: 背景 首先,我们需要了解ShardingJdbc是什么,它是一个基于JDBC驱动来实现分库分表和读写分离的中间件。而在使用ShardingJdbc的过程中,我们可能会遇到一些问题,比如说读写分离的BUG。 问题描述 在实践过程中,我们发现使用ShardingJdbc读写分离时,有时候会出…

    Java 2023年6月16日
    00
  • ANGULARJS中用NG-BIND指令实现单向绑定的例子

    下面我将详细讲解关于 ANGULARJS 中使用 ng-bind 指令实现单向绑定的攻略,主要分为以下几个方面。 什么是 ng-bind 指令? ng-bind 是 ANGULARJS 框架中用于将数据值绑定到 HTML 元素中的指令,它用于在模板中动态绑定数据,可以通过变化自动更新绑定数据的值,实现实时更新数据,具体用法如下: <div ng-bin…

    Java 2023年6月15日
    00
  • Java 轻松入门了解File类的使用

    Java 轻松入门了解 File 类的使用 在 Java 中,File 类是一个常见的类,用于对文件或目录进行操作。在我们进行 Java 开发时,经常需要使用到文件或目录的操作,为了更好地使用 File 类,我们需要完全了解它的使用方法。本文将从以下几个方面详细讲解 File 类的使用。 1. 创建 File 对象 创建 File 对象有两种方式,一种是使用…

    Java 2023年6月1日
    00
  • SpringBoot项目中使用Jsp的正确方法

    以下是SpringBoot项目中使用Jsp的正确方法的完整攻略: 1. 添加Jsp依赖 在SpringBoot项目的pom.xml文件中添加jsp相关依赖 <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-emb…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部