当前位置:   article > 正文

Springboot实现简单的登录注册_spring中用户注册代码怎么写

spring中用户注册代码怎么写

这是自己在练手时写的一个简单登录注册的方法。

1.由于本项目时基于springboot写的,所以正常创建springboot项目就不多说,先说一说配置文件application.yml(这里改了后缀,了解的就不多说)。

这里我的数据库使用的是8以上的,5的可能需要改写内容,不了解的可去搜索。

  1. spring:
  2. datasource:
  3. driver-class-name: com.mysql.cj.jdbc.Driver
  4. url: jdbc:mysql://localhost:3306/student?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
  5. username: 数据库用户名
  6. password: 数据库密码

2.接下来创建一些文件包,对应相应的层处理不同逻辑

controller包下创建LoginController.class与UserController.class填入相应代码:

LoginController.class:

  1. //登陆判断功能
  2. @PostMapping("/loginIn")
  3. public String login(LoginForm loginForm, Model model, HttpServletRequest request){
  4. LoginResult result = this.loginService.login(loginForm);
  5. String url = "";
  6. ModelAndView modelAndView = new ModelAndView();
  7. if(result.getCode().equals(-1) || result.getCode().equals(-2)){
  8. url = "login_3";
  9. model.addAttribute("msg", result.getMsg());
  10. }
  11. if(result.getCode().equals(0)){
  12. HttpSession session = request.getSession();
  13. switch (loginForm.getType()){
  14. case 1:
  15. session.setAttribute("user", (User)result.getObject());
  16. url = "redirect:/index.html";
  17. break;
  18. case 2:
  19. session.setAttribute("admin", (Admin)result.getObject());
  20. url = "redirect:/admin/indexadmin";
  21. break;
  22. }
  23. }
  24. return url;
  25. }

这里自己实现了,根据用户的性质不同,调用相应逻辑代码后,跳转到相应页面。

UserController.class:

  1. @Controller
  2. @RequestMapping("/user")
  3. public class UserController {
  4. @Autowired
  5. private UserService userService;
  6. //将logincontroller返回的数据返回给 定义的url网页
  7. @GetMapping("/{url}")
  8. public String redirect(@PathVariable("url") String url){
  9. return url;
  10. }
  11. }

3.创建entity包

在此包下,创建User.class文件写入:

  1. @Entity(name ="user")
  2. public class User implements Serializable {
  3. private static final long serialVersionUID=1L;
  4. @Id
  5. @GeneratedValue(strategy= GenerationType.IDENTITY)
  6. private Integer id;
  7. private String username;
  8. private String password;
  9. }

 这里对应的就是数据库你自己创建的表的字段了,创建数据库表就不过多说明了。

 4.创建mapper包

在里面创建UserMapper.class写入:

  1. public interface UserMapper extends BaseMapper<User> {
  2. }

5.创建service.impl包

再创建LoginServiceImpl.class写入:

  1. @Override
  2. public LoginResult login(LoginForm loginForm) {
  3. LoginResult loginResult = new LoginResult();
  4. switch (loginForm.getType()){
  5. case 1:
  6. QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  7. queryWrapper.eq("username", loginForm.getUsername());
  8. User user = this.userMapper.selectOne(queryWrapper);
  9. if(user == null) {
  10. loginResult.setMsg("用户名不存在");
  11. loginResult.setCode(-1);
  12. return loginResult;
  13. }
  14. //验证密码
  15. if(!user.getPassword().equals(loginForm.getPassword())){
  16. loginResult.setMsg("密码错误");
  17. loginResult.setCode(-2);
  18. return loginResult;
  19. }
  20. loginResult.setMsg("登录成功");
  21. loginResult.setCode(0);
  22. loginResult.setObject(user);
  23. break;
  24. case 2:
  25. QueryWrapper<Admin> adminQueryWrapper = new QueryWrapper<>();
  26. adminQueryWrapper.eq("adminname", loginForm.getUsername());
  27. Admin admin = this.adminMapper.selectOne(adminQueryWrapper);
  28. if(admin == null) {
  29. loginResult.setMsg("用户名不存在");
  30. loginResult.setCode(-1);
  31. return loginResult;
  32. }
  33. //验证密码
  34. if(!admin.getAdminpassword().equals(loginForm.getPassword())){
  35. loginResult.setMsg("密码错误");
  36. loginResult.setCode(-2);
  37. return loginResult;
  38. }
  39. loginResult.setMsg("登录成功");
  40. loginResult.setCode(0);
  41. loginResult.setObject(admin);
  42. break;
  43. }
  44. return loginResult;
  45. }

这里实现了不同性质的用户的登陆验证!

这里实现了一个简单登陆的方法,在前端只需要进行相应的接口实现,从而能实现一个登陆验证。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/573477
推荐阅读
相关标签
  

闽ICP备14008679号