区分大小写的Spring Boot查询选择

时间:2018-08-08 20:50:48

标签: java mysql spring-boot spring-data-jpa

我必须在Spring Boot中做一个LoginController来验证数据库中是否存在用户名和密码。为了进行验证,我制作了我的存储库UserRepository,它扩展了CrudRepository。

当我将用户名和密码发送到存储库时,它们可以发送,但是当我执行查询时,并没有考虑参数的区分大小写。

例如:在USER表中,我的用户名=“ Test”,密码=“ test”              如果我用用户名=“ test”和密码=“ Test”发出请求,似乎我在表中有此用户名和密码,但是我没有。

下面我在查询中添加了一段代码,如果您能帮助我解决这个问题,我将不胜感激。

谢谢您的时间。

@Repository
public interface UserRepository extends CrudRepository<User, Long>{

User findByUsername(String username);

User findByEmail(String email);

@Query(value = "SELECT user_id FROM user WHERE username = :username AND password = :password", nativeQuery = true)
Long findUserIdByUsernameAndPassword(@Param("username") String username, @Param("password") String password);

}

0 个答案:

没有答案