今天是教师节,祝我老师们教师节快乐,桃李满天下!

基本知识

  • Repository 仅仅是一个标识,没有任何方法,方便spring识别
  • CrudRepository 继承自Repository,实现一组CRUD方法
  • PagingAndStortingRepository 继承自CrudRepository,实现一组分页排序相关方法
  • JpaRepository 继承自PagingAndStortingRepository、QueryByExampleExecutor实现一组jpa规范方法

在使用JPA的时候只需要创建接口并继承JpaRepository即可。

下面是一个简单的实体类

@Entity
@Table(name = "tb_user")
public class User{
	@Id
	private Integer id;
	private String name;
	private String address;

	//getters and setters
}

查询User的接口:

//在SpringBoot中该接口不需要加任何注解即可被spring扫描并加载到容器中
public interface UserRepository extends JpaRepository<User, Integer>{
} 

现在我们就可以使用上面定义的UserRepository接口来对User进行操作:

@Service
public class UserService{
	@Autowired
	private UserRepository userRepository;
	
	public User findById(Integer id){
		User user = userRepository.findById(id);
		return user;
	}

}

上面说到JpaRepository还继承自QueryByExampleExecutor,因此我们可以构造一些查询条件进行crud 还是UserService

@Service
public class UserService{
	@Autowired
	private UserRepository userRepository;
	
	public User findByNameAndAddress(String name, String address){
		
	}

}


未完待续