spring boot 简单实现用户数据库密码的修改(后台全部步骤,链接数据库建一个用户表就可以测试)

今天用spring boot 简单写了一个密码修改需要调用的接口,
前端传回来的参数:原密码,新密码,用户名,
注意:我写servicel逻辑处理层,用的是加密方式,我注释掉了,实际运用中都是这种方式,不会让你看到真正的密码的,都是经过加密处理的,为了简单让你们看懂逻辑,我把加密方式注释掉,进行明文密码修改实现,你们可以进行实际操作下。(我的已经测试成功了,就看你们的了,明文和加密都可以哦~~希望对你们有帮助)
controller层

//      修改密码
    @RequestMapping("/updatePassWord")
    @ResponseBody
    public Object updatePassWord(String password,String newpassword,String username,HttpSession session){
        Map<String,Object> map=new HashMap<>();

        int i= (int) userService.modifyPassword( password, newpassword, username, session);
        if(i==1){
            map.put("code",1);
            map.put("msg","修改成功!");

        }else {
            map.put("code",0);
            map.put("msg","修改失败");
        }
        return map;
    }

service层

//  修改密码
    @Override
    public Object modifyPassword(String password, String newpassword, String username, HttpSession session){
        Map<String,Object> map=new HashMap<String, Object>();
        if(password!=null){
//       前端传过来的密码进行加密处理,如果你的数据用的是md5加密的话,需要进行一下加密,因为你前端传过来的是明文,数据库密码是经过加密的然后进行查询,
         //   String passwords=MD5Encode.encode(password); 
        //  User user=userMapper.selectBypassword(passwords,username);   
            User user=userMapper.selectBypassword(password,username);
//获得用户的id
            Integer id=user.getId();
//        数据库密码
            String yspassword=user.getPassword();
//            String pwd=password;
//			 if(yspassword.equals(passwords)){
            if(yspassword.equals(password)){
                User u=new User();
                u.setId(id);
//            对新密码进行加密
     //       u.setPassword(MD5Encode.encode(newpassword));
              u.setPassword(newpassword);
//            修改数据库的旧密码
                return userMapper.updateByPrimaryKeySelective(u);
//            map;

            }


        }

        return 0;
    }

service接口层

public interface UserService {
    Object modifyPassword(String password, String newpassword, String username, HttpSession session);
}

dao(mapper)层

	//获取用户所有信息
 User selectBypassword(@Param("passwords") String passwords,@Param("username") String username);
     //    修改密码
    int updateByPrimaryKeySelective(User record);

xml(我用的是xml形式,你也可以直接注解,把sql语句贴出来吧)

<select id="selectBypassword" resultMap="BaseResultMap" parameterType="java.lang.String" >
                SELECT
            *
        FROM
            USER
        WHERE
            password = #{passwords}
        AND username = #{username}
    </select>
<update id="updateByPrimaryKeySelective" parameterType="com.leienchuanmei.leien_management.entity.User" >
        update user
        <set >
            <if test="username != null" >
                username = #{username,jdbcType=VARCHAR},
            </if>
            <if test="password != null" >
                password = #{password,jdbcType=VARCHAR},
            </if>
            <if test="phone != null" >
                phone = #{phone,jdbcType=VARCHAR},
            </if>
            <if test="name != null" >
                name = #{name,jdbcType=VARCHAR},
            </if>
        </set>
        where id = #{id,jdbcType=INTEGER}
    </update>

ps 写好直接用postman进行测试
在这里插入图片描述

最后给你们写一个简单的加密方法,需要的时候直接用就好了
准备工作
pom.xml引入依赖

        <!--MD5加密-->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.10</version>
        </dependency>

common(工具层)—需要用的的时候直接调用就好了,上面有调用的,不会的可以看看

import org.apache.commons.codec.digest.DigestUtils;
/**
 * @Auther: LL
 * @Date: 2019/3/18 14:54
 */
public class MD5Encode {
//有个地方不是英语哦~~~
    private static final String PASSWORD="jiamishujudeqianzhui";
    public static  String encode(String password){
        String str=PASSWORD+password;
        String encode= DigestUtils.md5Hex(str);
        return encode;
    }

}
  • 11
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,根据你的要求,以下是一个简单的基于Spring Boot和Thymeleaf的电商后台应用程序,实现了注册信息表的CRUD功能。 首先,需要创一个名为"ecommerce"的Spring Boot项目,并添加以下依赖: ```xml <dependencies> <!-- Spring Boot Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Thymeleaf --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!-- Spring Boot Data JPA --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- H2 Database --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> </dependencies> ``` 然后,创一个名为"User"的实体类,用于表示用户信息: ```java @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String password; private boolean enabled; // getters and setters } ``` 接着,创一个名为"UserRepository"的接口,用于与数据库进行交互: ```java @Repository public interface UserRepository extends JpaRepository<User, Long> { User findByUsername(String username); } ``` 然后,创一个名为"UserController"的控制器,用于处理用户页面的请求: ```java @Controller public class UserController { @Autowired private UserRepository userRepository; @GetMapping("/users") public String list(Model model) { List<User> users = userRepository.findAll(); model.addAttribute("users", users); return "users/list"; } @GetMapping("/users/new") public String createForm(Model model) { model.addAttribute("user", new User()); return "users/form"; } @PostMapping("/users/new") public String create(@Valid User user, BindingResult result) { if (result.hasErrors()) { return "users/form"; } userRepository.save(user); return "redirect:/users"; } @GetMapping("/users/{id}/edit") public String updateForm(@PathVariable("id") Long id, Model model) { User user = userRepository.findById(id).orElseThrow(() -> new IllegalArgumentException("Invalid user id: " + id)); model.addAttribute("user", user); return "users/form"; } @PostMapping("/users/{id}/edit") public String update(@PathVariable("id") Long id, @Valid User user, BindingResult result) { if (result.hasErrors()) { user.setId(id); return "users/form"; } userRepository.save(user); return "redirect:/users"; } @GetMapping("/users/{id}/delete") public String delete(@PathVariable("id") Long id) { User user = userRepository.findById(id).orElseThrow(() -> new IllegalArgumentException("Invalid user id: " + id)); userRepository.delete(user); return "redirect:/users"; } } ``` 最后,创Thymeleaf模板,包括用户列表页面(users/list.html)和表单页面(users/form.html): users/list.html: ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>User List</title> </head> <body> <h1>User List</h1> <a href="/users/new">Create New User</a> <table> <thead> <tr> <th>ID</th> <th>Username</th> <th>Password</th> <th>Enabled</th> <th></th> </tr> </thead> <tbody> <tr th:each="user : ${users}"> <td th:text="${user.id}"></td> <td th:text="${user.username}"></td> <td th:text="${user.password}"></td> <td th:text="${user.enabled}"></td> <td> <a th:href="@{/users/{id}/edit(id=${user.id})}">Edit</a> <a th:href="@{/users/{id}/delete(id=${user.id})}">Delete</a> </td> </tr> </tbody> </table> </body> </html> ``` users/form.html: ```html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Create/Edit User</title> </head> <body> <h1>Create/Edit User</h1> <form th:object="${user}" th:action="@{/users/{id}/edit(id=${user.id})}" method="post"> <div> <label for="username">Username:</label> <input type="text" id="username" th:field="*{username}" required> <span th:if="${#fields.hasErrors('username')}" th:errors="*{username}"></span> </div> <div> <label for="password">Password:</label> <input type="password" id="password" th:field="*{password}" required> <span th:if="${#fields.hasErrors('password')}" th:errors="*{password}"></span> </div> <div> <label for="enabled">Enabled:</label> <input type="checkbox" id="enabled" th:field="*{enabled}"> </div> <div> <button type="submit">Save</button> </div> </form> </body> </html> ``` 完成以上步骤后,启动应用程序,访问"http://localhost:8080/users"即可查看用户列表,点击"Create New User"按钮即可添加新用户,点击"Edit"链接即可编辑用户信息,点击"Delete"链接即可删除用户信息。 以上就是一个简单的基于Spring Boot和Thymeleaf的电商后台应用程序,实现了注册信息表的CRUD功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值