在SSM(Spring+SpringMVC+MyBatis)框架下,我们可以轻松地实现一个简易商城项目。本博客将重点介绍如何实现商品查询功能,帮助读者了解并掌握该功能的开发过程。
首先,在数据库中创建商品表,包括商品ID、名称、价格、库存等字段。可以使用MySQL或其他关系型数据库进行创建。
CREATE TABLE product (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
price DECIMAL(10, 2) NOT NULL,
stock INT NOT NULL
);
在Java项目中,创建商品实体类,与数据库表字段对应,并添加对应的getters和setters方法。
public class Product {
private int id;
private String name;
private double price;
private int stock;
// getters and setters
}
创建商品DAO接口,并定义查询商品的方法。在实现类中,使用MyBatis框架的注解或XML配置文件,编写SQL语句,实现商品查询功能。
public interface ProductDAO {
List<Product> getAllProducts();
}
@Repository
public class ProductDAOImpl implements ProductDAO {
@Autowired
private SqlSessionFactory sqlSessionFactory;
public List<Product> getAllProducts() {
try (SqlSession session = sqlSessionFactory.openSession()) {
return session.selectList("ProductMapper.getAllProducts");
}
}
}
创建商品Service接口,并定义查询商品的方法。在实现类中,注入商品DAO接口,调用其方法来实现商品查询功能。
public interface ProductService {
List<Product> getAllProducts();
}
@Service
public class ProductServiceImpl implements ProductService {
@Autowired
private ProductDAO productDAO;
public List<Product> getAllProducts() {
return productDAO.getAllProducts();
}
}
创建商品Controller类,使用SpringMVC注解,定义商品查询的请求映射。在方法中,调用商品Service接口的方法,获取查询结果,并将结果返回给前端页面。
@Controller
public class ProductController {
@Autowired
private ProductService productService;
@RequestMapping("/products")
public String getAllProducts(Model model) {
List<Product> products = productService.getAllProducts();
model.addAttribute("products", products);
return "products";
}
}
使用HTML、CSS和JavaScript等前端技术,创建商品查询页面。在页面中添加查询条件输入框和按钮,并通过AJAX异步请求后端接口,获取商品查询结果,并将结果展示在页面上。
DOCTYPE html>
<html>
<head>
<title>商品查询title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">script>
<script>
$(document).ready(function() {
$("#searchBtn").click(function() {
var keyword = $("#keyword").val();
$.ajax({
url: "/products",
type: "GET",
data: { keyword: keyword },
success: function(data) {
// 处理返回的商品数据,展示在页面上
}
});
});
});
script>
head>
<body>
<input type="text" id="keyword" placeholder="请输入关键字">
<button id="searchBtn">查询button>
<div id="productList">div>
body>
html>
在项目的配置文件中,配置数据库连接信息、MyBatis框架和SpringMVC框架等相关配置。
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
<configuration>
<mappers>
<mapper resource="mapper/ProductMapper.xml"/>
mappers>
configuration>
<context:component-scan base-package="com.example.controller" />
<mvc:annotation-driven />
启动项目,访问商品查询页面,输入查询条件,点击查询按钮,即可获取并展示符合条件的商品信息。
通过以上步骤,我们可以在SSM框架下实现商品查询功能。这个简易商城项目只是一个起点,您可以根据需求进行扩展和优化,添加更多功能,如商品添加、购物车、下单等。希望本篇博客能够对您理解和学习SSM框架有所帮助。