java - 我们可以使用 MongoRespository 进行 findByNameAndPassword() 这种类型的查询吗?

标签 java spring spring-boot spring-data-jpa mongorepository

Optional<TicketUserDto> ticketuser=ticketUserDao.findByUserIdAndPassword(userId, password);

DAO:

@Repository
public interface TicketUsersDao extends MongoRepository<TicketUserDto, Serializable> {
    Optional<TicketUserDto> findByUserIdAndPassword(String userId, String password);
}

这是 DTO 定义

@Document(collection="ticket_users") 
public class TicketUserDto { 
    private String userId; 
    private String password; 

    public String getUserId() { return userId; } 
    public void setUserId(String userId) { this.userId = userId; } 

    public String getPassword() { return password; } 
    public void setPassword(String password) { this.password = password; }

    @Override public String toString() { 
        return "TicketUserDto [userId=" + userId + 
            ", password=" + password + "]"; 
    } 
}

最佳答案

您的查找方法应如下所示:

Optional<TicketUserDto> findOptionalByUserIdAndPassword(String userId, String password);

此外,您的类没有声明主键。为了使其工作,您应该重构您的类,如下所示:

@Document(collection="ticket_users") 
public class TicketUserDto { 
    @Id
    private String userId; 
    /* the other code remains untouched */
}

@Repository
public interface TicketUsersDao extends MongoRepository<TicketUserDto, String> {
    Optional<TicketUserDto> findOptionalByUserIdAndPassword(String userId, String password);
}

关于java - 我们可以使用 MongoRespository 进行 findByNameAndPassword() 这种类型的查询吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52605057/

相关文章:

java - Spring Boot集成url分页解决方案

java - JSL 中的符号 S[F1 :=T1, ...,Fn:=Tn]

java - 我正在使用 spring、hibernate 和 mysql。如何让我的应用程序自动创建表格

java - 正则表达式捕获一定范围内的内核版本

Spring MVC - 发生 http 404 时的 RestTemplate 启动异常

spring - Kotlin Spring类的方面初始化

spring-boot - Spring Boot Swagger 使用 Spring Fox 实现失败启动 bean 'documentationPluginsBootstrapper'

java - developer.android.com - 我的第一个应用程序/ Hello World

spring - HTTP session 和 Web session 有什么区别?

gradle - 如何在 Spring Boot Gradle : log4j-over-slf4j. jar、slf4j-log4j12.jar 中启用 Log4j 多重绑定(bind)