ssm增删改查
时间: 2023-07-07 13:12:39 浏览: 167
SSM 是 Spring + Spring MVC + MyBatis 的缩写,下面给出使用 SSM 实现增删改查的示例代码:
1. 实体类:
```java
public class User {
private Integer id;
private String name;
private Integer age;
// 省略 getter 和 setter 方法
}
```
2. Dao 接口:
```java
public interface UserDao {
// 添加用户
void addUser(User user);
// 删除用户
void deleteUser(Integer id);
// 更新用户
void updateUser(User user);
// 根据 ID 查询用户
User getUserById(Integer id);
// 查询所有用户
List<User> getAllUsers();
}
```
3. Dao 实现:
```java
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private SqlSession sqlSession;
@Override
public void addUser(User user) {
sqlSession.insert("addUser", user);
}
@Override
public void deleteUser(Integer id) {
sqlSession.delete("deleteUser", id);
}
@Override
public void updateUser(User user) {
sqlSession.update("updateUser", user);
}
@Override
public User getUserById(Integer id) {
return sqlSession.selectOne("getUserById", id);
}
@Override
public List<User> getAllUsers() {
return sqlSession.selectList("getAllUsers");
}
}
```
4. Service 接口:
```java
public interface UserService {
// 添加用户
void addUser(User user);
// 删除用户
void deleteUser(Integer id);
// 更新用户
void updateUser(User user);
// 根据 ID 查询用户
User getUserById(Integer id);
// 查询所有用户
List<User> getAllUsers();
}
```
5. Service 实现:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public void addUser(User user) {
userDao.addUser(user);
}
@Override
public void deleteUser(Integer id) {
userDao.deleteUser(id);
}
@Override
public void updateUser(User user) {
userDao.updateUser(user);
}
@Override
public User getUserById(Integer id) {
return userDao.getUserById(id);
}
@Override
public List<User> getAllUsers() {
return userDao.getAllUsers();
}
}
```
6. Controller:
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/addUser")
public String addUser(User user) {
userService.addUser(user);
return "redirect:/user/getAllUsers";
}
@RequestMapping("/deleteUser/{id}")
public String deleteUser(@PathVariable("id") Integer id) {
userService.deleteUser(id);
return "redirect:/user/getAllUsers";
}
@RequestMapping("/updateUser")
public String updateUser(User user) {
userService.updateUser(user);
return "redirect:/user/getAllUsers";
}
@RequestMapping("/getUserById/{id}")
public String getUserById(@PathVariable("id") Integer id, Model model) {
User user = userService.getUserById(id);
model.addAttribute("user", user);
return "user";
}
@RequestMapping("/getAllUsers")
public String getAllUsers(Model model) {
List<User> users = userService.getAllUsers();
model.addAttribute("users", users);
return "users";
}
}
```
7. 页面:
users.jsp:
```html
<!DOCTYPE html>
<html>
<head>
<title>用户列表</title>
<meta charset="UTF-8">
</head>
<body>
<h1>用户列表</h1>
<table>
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<c:forEach var="user" items="${users}">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.age}</td>
<td>
<a href="${pageContext.request.contextPath}/user/getUserById/${user.id}">查看</a>
<a href="${pageContext.request.contextPath}/user/deleteUser/${user.id}">删除</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<br>
<a href="${pageContext.request.contextPath}/user/addUser">添加用户</a>
</body>
</html>
```
user.jsp:
```html
<!DOCTYPE html>
<html>
<head>
<title>用户信息</title>
<meta charset="UTF-8">
</head>
<body>
<h1>用户信息</h1>
<form method="post" action="${pageContext.request.contextPath}/user/updateUser">
<input type="hidden" name="id" value="${user.id}">
姓名:<input type="text" name="name" value="${user.name}"><br>
年龄:<input type="text" name="age" value="${user.age}"><br>
<input type="submit" value="保存">
</form>
</body>
</html>
```
其中,users.jsp 是用户列表页面,user.jsp 是用户信息页面。
阅读全文
相关推荐











