下面为你详细讲解如何使用 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技术站