Spring存储库实现问题

时间:2018-12-12 08:33:45

标签: java spring-data junit5

我正在使用Spring数据JDBC库来实现我的DAO。我是Spring Data Repository的新手。以下是我遇到的错误。

@Repository
public class UserRepository extends CrudRepository<User, Integer> {}

错误:类型CrudRepository不能是UserRepository的超类;超类必须是一个类

我正在使用Spring Framework版本5.1.3和spring-data-jdbc 1.0.3。

2 个答案:

答案 0 :(得分:3)

CrudRepository为正在管理的实体类提供复杂的CRUD功能。

 public interface CrudRepository<T, ID extends Serializable>
        extends Repository<T, ID> {

    <S extends T> S save(S entity);
    T findOne(ID primaryKey);
    Iterable<T> findAll();
    Long count();                                                                                                                   
    void delete(T entity);                                                                                                  
    boolean exists(ID primaryKey)
}
  • 保存给定的实体。
  • 返回由给定ID标识的实体。
  • 返回所有实体。
  • 返回实体数。
  • 删除给定的实体。
  • 指示具有给定id的实体是否存在。

答案 1 :(得分:0)

如果您正在寻找一个简单的查询来从数据库中获取所有数据,只需使用Spring CrudRepository

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

要获取数据,只需使用findAll中已经存在的方法CrudRepository

Iterable<User> users = userRepository.findAll();