My project based on spring boot,Thymeleaf,mysql,html and Jquery.
我写了一个检查用户名和密码是否有效的查询,如果有效则返回 TRUE,否则返回 false..这是我的场景..但它传递了 null...所以它变成了 nullpointer 异常.. 这是我的代码
public interface RepoUserSignup extends JpaRepository<EntUserSignup, Integer>
{
@Query("SELECT pk FROM EntUserSignup pk WHERE pk.username=:uname AND pk.password=:pwd")
Boolean checkUsername(@Param("uname") String username,@Param("pwd") String password);
}
请帮助我..提前致谢
最佳答案
您的查询返回一个对象而不是 boolean 值,因此您有两种方法:
- 您的方法应该返回
EntUserSignup checkUsername(@Param("uname") String username,@Param("pwd") String password);
而不是检查是否有结果 - 另一种方法是检查结果的数量
@Query("SELECT COUNT(pk) > 0 FROM EntUserSignup pk WHERE pk.username=:uname AND pk.password=:pwd")
所以如果有一些结果COUNT(pk) > 0
将返回 true 否则将返回 false
关于java - Spring Data JPA 查询返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47196670/