spring boot 判断账号密码进行页面跳转

首先:controller 

本文代码:https://download.csdn.net/download/qq_40979622/10710377 

数据库在文章最后有提到。

@RequestMapping("/")
    public ModelAndView index(){
        ModelAndView mv = new ModelAndView("login");
        return mv;
    }
//这里的思路是从前台获取的数据参数 直接传到findByNameAndAge中,作为数据库的查找条件,如果查不出来,就是空,反之就可以查出来数据,查出来的数据的SIZE()就有长度,这样作为判断的思路。
    @PostMapping("/login")
    public ModelAndView Login(@RequestParam("username") String username, @RequestParam("userpassword") String userpassword){
        System.out.println(username+":"+userpassword);
        List<User> users= userService.findByNameAndAge(username,Integer.parseInt(userpassword));
//        for (Login l:loginService.findAll()) {
//            System.out.println(l.getUsername()+":"+l.getUserpassword());
//        }


        ModelAndView success = new ModelAndView();
        if(users.size()>0)
            success.setViewName("success");
        else success.setViewName("404");
        return success;
    }
其次:respository

//这里要注意@Query的格式问题。

@Query(value = "select * from User as u where u.name=?1 and u.age=?2",nativeQuery = true)

List<User> findByNameAndAge(String name, Integer age);

service 中的和之前我写的增删该查一样。可以看之前发的。我还是写上吧。

下面是service 中的接口

List<User> findByNameAndAge(String name,Integer age);

下面是service里面的impl.

@Override
public Login findByUsernameAndUserpassword(String username, String userpassword) {
    return loginRepository.findByUsernameAndUserpassword(username,userpassword);
}

这里的数据库

前台: 下面是service里面的impl.

 

 本人之前调试了好多次,总结下,第一:

这里用的是集合获取数据库中的用户账号密码,所以代码全程的都要注意用List<>集合。

第二:在设置数据库属性的时候,一定要注意数据库的配置,楼主就是因为数据库设置的时候复制之前的数据库属性,导致数据库链接到别的地方,导致失败。

猜你喜欢

转载自blog.csdn.net/qq_40979622/article/details/82992763