SSM框架的增删该查之修改用户资料

mapper层


    /*
     * 修改用户资料
     * */
    @Update("Update user " +
            "set username=#{username},real_name=#{real_name},wechar=#{wechar},qq=#{qq},phone_one=#{phone_one},phone_two=#{phone_two},alipay_number=#{alipay_number},alipay_name=#{alipay_name},bank_name=#{bank_name},bank_username=#{bank_username},bank_number=#{bank_number},email=#{email}" +
            "  where id=#{id}")
    public int changUser(User user) throws Exception;
    
    /*
     * 修改密码
     * */
    @Update("Update user " +
            "set password=#{newpass} " +
            "where username=#{user.username}")
    public int changePassWord(User user, @Param("newpass") String password) throws Exception;


service层


    @Override
    public int changePassWord(User user, String password) throws Exception {
   
        return UserMapper.changePassWord(user, password);
    }

    @Override
    public int changeUser(User user) throws Exception {
   
        return UserMapper.changUser(user);
    }

controller层


    @Autowired
    private UserService UserService;


    /*修改密码页面*/
    @RequestMapping("/goUpdate_Password")
    public String goUpdate_Password() throws Exception {
   
        return "update_password";
    }

    /*修改个人资料页面*/
    @RequestMapping("/goUpdate_User_Me")
    public ModelAndView goUpdate_User_Me(HttpSession session) throws Exception {
   
        ModelAndView mv = new ModelAndView();
        User user = (User) session.getAttribute("loginUser");
        mv.addObject("Users", user);
        mv.setViewName("update_user_me");
        return mv;
    }

    /*查看密码是否正确*/
    @RequestMapping("/verifyPassWord")
    @ResponseBody
    public String verifyPassWord(HttpSession session, String password) throws Exception {
   
        User user = null;
        try {
   
            user = (User) session.getAttribute("loginUser");
            if (user.getPassword().equals(password)) {
   
                return "true";
            }
            return "false";
        } catch (Exception e) {
   
            e.printStackTrace();
            return "error";
        }
    }


    /*修改密码*/
    @RequestMapping("/update_PassWord")
    public ModelAndView update_PassWord(HttpSession session, HttpServletResponse rs, String password) throws Exception {
   
        rs.setContentType("text/html;charset=utf-8");
        PrintWriter out = rs.getWriter();
        User user = (User) session.getAttribute("loginUser");
        int num = UserService.changePassWord(user, password);
        if (num > 0) {
   
            user.setPassword(password);
            session.setAttribute("loginUser",user);
            out.print("<script >alert('密码修改成功!');</script>");
            return new ModelAndView("index");
        }
        out.print("<script >alert('密码修改失败!');</script>");
        return new ModelAndView("update_password");
    }

    /*修改用户资料*/
    @RequestMapping("/updateUser")
    @ResponseBody
    public String update_User(HttpSession session, User user) throws Exception {
   
        User oldUser = (User) session.getAttribute("loginUser");
        user.setId(oldUser.getId());
        int num = UserService.changeUser(user);
        if (num > 0) {
   
            return "true";
        }
        return "false";
    }


修改密码前端页面展示:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>修改密码</title>
    <link th:href="@{/layui/css/layui.css}" rel="stylesheet"/>
</head>


<body class="layui-layout-body">

<div class="layui-layout layui-layout-admin">
    <!-- 头部区域 -->
    <div th:include="header.html :: header"></div>
    <!-- 头部区域 --&
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSM框架是指Spring+SpringMVC+MyBatis三大框架的整合,下面提供一个基于SSM框架增删改查页面示例: 首先,我们需要在SpringMVC的配置文件中添加视图解析器和处理器映射器: ```xml <!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 处理器映射器 --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" /> <!-- 处理器适配器 --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" /> ``` 然后,我们需要编一个Controller类来处理页面请求,并且调用Service层来实现增删改查的操作: ```java @Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @RequestMapping(value = "/list", method = RequestMethod.GET) public ModelAndView userList() { ModelAndView modelAndView = new ModelAndView("userList"); List<User> userList = userService.findAllUsers(); modelAndView.addObject("userList", userList); return modelAndView; } @RequestMapping(value = "/add", method = RequestMethod.GET) public ModelAndView addUserPage() { ModelAndView modelAndView = new ModelAndView("addUser"); return modelAndView; } @RequestMapping(value = "/add", method = RequestMethod.POST) public ModelAndView addUser(User user) { ModelAndView modelAndView = new ModelAndView("redirect:/user/list"); userService.addUser(user); return modelAndView; } @RequestMapping(value = "/delete/{id}", method = RequestMethod.GET) public ModelAndView deleteUser(@PathVariable("id") int id) { ModelAndView modelAndView = new ModelAndView("redirect:/user/list"); userService.deleteUser(id); return modelAndView; } @RequestMapping(value = "/update/{id}", method = RequestMethod.GET) public ModelAndView updateUserPage(@PathVariable("id") int id) { ModelAndView modelAndView = new ModelAndView("updateUser"); User user = userService.findUserById(id); modelAndView.addObject("user", user); return modelAndView; } @RequestMapping(value = "/update", method = RequestMethod.POST) public ModelAndView updateUser(User user) { ModelAndView modelAndView = new ModelAndView("redirect:/user/list"); userService.updateUser(user); return modelAndView; } } ``` 在以上Controller类的代码中,我们提供了五个请求方法: 1. `userList()`:用于展示所有用户信息的页面; 2. `addUserPage()`:用于展示添加用户信息的页面; 3. `addUser(User user)`:用于接收添加用户信息的表单数据; 4. `deleteUser(int id)`:用于删除指定用户信息; 5. `updateUserPage(int id)`:用于展示修改指定用户信息的页面; 6. `updateUser(User user)`:用于接收修改用户信息的表单数据。 最后,我们需要编相应的JSP页面来展示数据和表单。比如我们可以编一个userList.jsp页面来展示所有用户信息: ```html <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>User List</title> </head> <body> <h1>User List</h1> <table> <thead> <tr> <th>ID</th> <th>Name</th> <th>Age</th> <th>Gender</th> <th>Phone</th> <th>Email</th> <th>Action</th> </tr> </thead> <tbody> <c:forEach items="${userList}" var="user"> <tr> <td>${user.id}</td> <td>${user.name}</td> <td>${user.age}</td> <td>${user.gender}</td> <td>${user.phone}</td> <td>${user.email}</td> <td> <a href="<c:url value='/user/update/${user.id}'/>">Edit</a> <a href="<c:url value='/user/delete/${user.id}'/>">Delete</a> </td> </tr> </c:forEach> </tbody> </table> <a href="<c:url value='/user/add'/>">Add User</a> </body> </html> ``` 在以上JSP页面的代码中,我们使用了JSTL标签库来遍历所有用户信息,并且提供了“Add User”、“Edit”和“Delete”三个超链接来触发相关请求方法。 其他的JSP页面也类似,只需要根据表单数据的不同来进行相应的处理即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值