首先: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<>集合。
第二:在设置数据库属性的时候,一定要注意数据库的配置,楼主就是因为数据库设置的时候复制之前的数据库属性,导致数据库链接到别的地方,导致失败。