我正在使用Spring。 我有一个用户表。
一个人登录系统后,会向我发送他的凭据(即用户名和密码)。
我使用“增量生成的uid”(即userid是主键)将用户存储在数据库中。
我还将用户名密码等存储在数据库中。我需要做的是,当用户连接到Rest连接时,我需要检查数据库是否有该用户。如果他存在,那么我需要检查密码是否匹配。我需要按用户名而不是uid进行检查
我的程序中根本没有会话或任何内容(或者据我所知,我根本没有在代码中编写任何会话或sessionfactory)
我的存储库类:
public interface UserRepository extends JpaRepository<User, Long>{
}
我的用户DAO
@Service
public class UserDAO {
@Autowired
UserRepository userRepository;
public User findByUsername(String username)
{
//what to write here
}
}
我已经抬起this solution,但如上所述,我没有参加会议。
答案 0 :(得分:0)
Spring确实提供了您所需的所有必需的依赖关系和功能。
回到您的问题。您只需提供一个存储库,然后在其中使用带有某种命名约定的Signatures来提供适当的结果,即可轻松地在Spring中查询非id字段。
您可以注入EntityManager
,它也可以使用Session
t来访问@PersistenceContex
,这将注入由Spring管理的共享EntityManager
此外,您可以通过UserRepository
(或其中的任何子元素)扩展Repository
来使用Naming Convention Thingy,就像您已经在做的那样,并提供方法签名,例如findBy<FIELDNAME>(String value)
,例如。 findByUsername(String username)
。
如果您确实使用存储库方法,则无需实施DAO。
有关详细说明,请查看Spring的Reference Documentation。