ssm框架获取当前用户的id,然后根据获取的id修改用户名和密码
时间: 2024-03-03 09:49:14 浏览: 127
好的,根据您的问题,我可以给出以下代码示例:
1. 在Controller中获取当前用户的id:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/getCurrentUserId")
public Integer getCurrentUserId(HttpServletRequest request) {
HttpSession session = request.getSession();
Integer userId = (Integer) session.getAttribute("userId");
return userId;
}
// 省略其它方法
}
```
2. 在Mapper中添加根据id修改用户名和密码的方法:
```java
public interface UserMapper {
int updateUsernameAndPasswordById(@Param("id") Integer id, @Param("username") String username, @Param("password") String password);
}
```
3. 在Service中调用Mapper中的方法:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public boolean updateUsernameAndPasswordById(Integer id, String username, String password) {
int result = userMapper.updateUsernameAndPasswordById(id, username, password);
return result == 1;
}
}
```
4. 在Controller中接收前端传来的参数并调用Service中的方法:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/updateUsernameAndPassword")
public String updateUsernameAndPassword(HttpServletRequest request, String username, String password) {
Integer userId = (Integer) request.getSession().getAttribute("userId");
boolean success = userService.updateUsernameAndPasswordById(userId, username, password);
if (success) {
return "用户名和密码修改成功!";
} else {
return "用户名和密码修改失败!";
}
}
// 省略其它方法
}
```
以上就是根据获取的当前用户id修改用户名和密码的代码示例,希望能对您有所帮助。
阅读全文