库存信息功能实现ssm前后端代码
时间: 2023-10-22 16:23:22 浏览: 58
以下是一个简单的库存信息管理系统的SSM前后端代码实现示例:
后端代码(使用Spring+SpringMVC+MyBatis):
1. 配置数据库连接信息
在applicationContext.xml中配置数据库连接信息:
```
<!-- 数据库连接信息 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/inventory"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</bean>
```
2. 配置Mapper接口和Mapper映射文件
在mybatis-config.xml中配置Mapper接口和Mapper映射文件:
```
<!-- 配置Mapper接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper"/>
</bean>
<!-- 配置Mapper映射文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath*:com/example/mapper/*.xml"/>
</bean>
```
3. 定义Mapper接口和Mapper映射文件
定义InventoryMapper接口和InventoryMapper.xml文件:
InventoryMapper.java
```
public interface InventoryMapper {
// 查询所有库存信息
List<Inventory> getAllInventories();
// 根据ID查询库存信息
Inventory getInventoryById(Integer id);
// 添加库存信息
int addInventory(Inventory inventory);
// 修改库存信息
int updateInventory(Inventory inventory);
// 删除库存信息
int deleteInventory(Integer id);
}
```
InventoryMapper.xml
```
<mapper namespace="com.example.mapper.InventoryMapper">
<!-- 查询所有库存信息 -->
<select id="getAllInventories" resultType="com.example.entity.Inventory">
select * from inventory
</select>
<!-- 根据ID查询库存信息 -->
<select id="getInventoryById" parameterType="int" resultType="com.example.entity.Inventory">
select * from inventory where id=#{id}
</select>
<!-- 添加库存信息 -->
<insert id="addInventory" parameterType="com.example.entity.Inventory">
insert into inventory(name, unit, quantity) values(#{name}, #{unit}, #{quantity})
</insert>
<!-- 修改库存信息 -->
<update id="updateInventory" parameterType="com.example.entity.Inventory">
update inventory set name=#{name}, unit=#{unit}, quantity=#{quantity} where id=#{id}
</update>
<!-- 删除库存信息 -->
<delete id="deleteInventory" parameterType="int">
delete from inventory where id=#{id}
</delete>
</mapper>
```
4. 定义实体类Inventory
```
public class Inventory {
private Integer id;
private String name;
private String unit;
private Integer quantity;
// 省略getter和setter方法
}
```
5. 定义Service接口和Service实现类
定义InventoryService接口和InventoryServiceImpl实现类:
InventoryService.java
```
public interface InventoryService {
// 查询所有库存信息
List<Inventory> getAllInventories();
// 根据ID查询库存信息
Inventory getInventoryById(Integer id);
// 添加库存信息
int addInventory(Inventory inventory);
// 修改库存信息
int updateInventory(Inventory inventory);
// 删除库存信息
int deleteInventory(Integer id);
}
```
InventoryServiceImpl.java
```
@Service
public class InventoryServiceImpl implements InventoryService {
@Autowired
private InventoryMapper inventoryMapper;
// 查询所有库存信息
public List<Inventory> getAllInventories() {
return inventoryMapper.getAllInventories();
}
// 根据ID查询库存信息
public Inventory getInventoryById(Integer id) {
return inventoryMapper.getInventoryById(id);
}
// 添加库存信息
public int addInventory(Inventory inventory) {
return inventoryMapper.addInventory(inventory);
}
// 修改库存信息
public int updateInventory(Inventory inventory) {
return inventoryMapper.updateInventory(inventory);
}
// 删除库存信息
public int deleteInventory(Integer id) {
return inventoryMapper.deleteInventory(id);
}
}
```
6. 定义Controller类
定义InventoryController类:
```
@Controller
@RequestMapping("/inventory")
public class InventoryController {
@Autowired
private InventoryService inventoryService;
// 查询所有库存信息
@RequestMapping(value = "/getAllInventories", method = RequestMethod.GET)
public ModelAndView getAllInventories() {
List<Inventory> inventories = inventoryService.getAllInventories();
ModelAndView modelAndView = new ModelAndView("inventoryList");
modelAndView.addObject("inventories", inventories);
return modelAndView;
}
// 跳转到添加库存信息页面
@RequestMapping(value = "/toAddInventory", method = RequestMethod.GET)
public ModelAndView toAddInventory() {
ModelAndView modelAndView = new ModelAndView("addInventory");
return modelAndView;
}
// 添加库存信息
@RequestMapping(value = "/addInventory", method = RequestMethod.POST)
public ModelAndView addInventory(@ModelAttribute Inventory inventory) {
int result = inventoryService.addInventory(inventory);
ModelAndView modelAndView = new ModelAndView("redirect:/inventory/getAllInventories");
return modelAndView;
}
// 跳转到修改库存信息页面
@RequestMapping(value = "/toUpdateInventory", method = RequestMethod.GET)
public ModelAndView toUpdateInventory(@RequestParam("id") Integer id) {
Inventory inventory = inventoryService.getInventoryById(id);
ModelAndView modelAndView = new ModelAndView("updateInventory");
modelAndView.addObject("inventory", inventory);
return modelAndView;
}
// 修改库存信息
@RequestMapping(value = "/updateInventory", method = RequestMethod.POST)
public ModelAndView updateInventory(@ModelAttribute Inventory inventory) {
int result = inventoryService.updateInventory(inventory);
ModelAndView modelAndView = new ModelAndView("redirect:/inventory/getAllInventories");
return modelAndView;
}
// 删除库存信息
@RequestMapping(value = "/deleteInventory", method = RequestMethod.GET)
public ModelAndView deleteInventory(@RequestParam("id") Integer id) {
int result = inventoryService.deleteInventory(id);
ModelAndView modelAndView = new ModelAndView("redirect:/inventory/getAllInventories");
return modelAndView;
}
}
```
前端代码(使用JSP+Bootstrap):
1. inventoryList.jsp
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>库存信息列表</title>
<link href="${pageContext.request.contextPath}/static/css/bootstrap.min.css" rel="stylesheet">
<link href="${pageContext.request.contextPath}/static/css/bootstrap-theme.min.css" rel="stylesheet">
<script src="${pageContext.request.contextPath}/static/js/jquery-1.11.3.min.js"></script>
<script src="${pageContext.request.contextPath}/static/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h1>库存信息列表</h1>
<table class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th>ID</th>
<th>名称</th>
<th>单位</th>
<th>数量</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach items="${inventories}" var="inventory">
<tr>
<td>${inventory.id}</td>
<td>${inventory.name}</td>
<td>${inventory.unit}</td>
<td>${inventory.quantity}</td>
<td>
<a href="${pageContext.request.contextPath}/inventory/toUpdateInventory?id=${inventory.id}" class="btn btn-primary">修改</a>
<a href="${pageContext.request.contextPath}/inventory/deleteInventory?id=${inventory.id}" class="btn btn-danger">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<a href="${pageContext.request.contextPath}/inventory/toAddInventory" class="btn btn-success">添加库存信息</a>
</div>
</body>
</html>
```
2. addInventory.jsp
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加库存信息</title>
<link href="${pageContext.request.contextPath}/static/css/bootstrap.min.css" rel="stylesheet">
<link href="${pageContext.request.contextPath}/static/css/bootstrap-theme.min.css" rel="stylesheet">
<script src="${pageContext.request.contextPath}/static/js/jquery-1.11.3.min.js"></script>
<script src="${pageContext.request.contextPath}/static/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h1>添加库存信息</h1>
<form class="form-horizontal" action="${pageContext.request.contextPath}/inventory/addInventory" method="post">
<div class="form-group">
<label class="control-label col-sm-2">名称:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="name" placeholder="请输入名称">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">单位:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="unit" placeholder="请输入单位">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">数量:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="quantity" placeholder="请输入数量">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">添加</button>
</div>
</div>
</form>
</div>
</body>
</html>
```
3. updateInventory.jsp
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改库存信息</title>
<link href="${pageContext.request.contextPath}/static/css/bootstrap.min.css" rel="stylesheet">
<link href="${pageContext.request.contextPath}/static/css/bootstrap-theme.min.css" rel="stylesheet">
<script src="${pageContext.request.contextPath}/static/js/jquery-1.11.3.min.js"></script>
<script src="${pageContext.request.contextPath}/static/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<h1>修改库存信息</h1>
<form class="form-horizontal" action="${pageContext.request.contextPath}/inventory/updateInventory" method="post">
<input type="hidden" name="id" value="${inventory.id}">
<div class="form-group">
<label class="control-label col-sm-2">名称:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="name" value="${inventory.name}">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">单位:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="unit" value="${inventory.unit}">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">数量:</label>
<div class="col-sm-10">
<input type="text" class="form-control" name="quantity" value="${inventory.quantity}">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">修改</button>
</div>
</div>
</form>
</div>
</body>
</html>
```
以上是一个简单的库存信息管理系统的SSM前后端代码实现示例,仅供参考。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)