下面是针对“spring data jpa使用详解(推荐)”进行详细讲解的攻略:
一、前言
Spring Data JPA 是基于 Hibernate 来实现 JPA 接口的实现,为我们处理项目中的数据提供了非常便捷的方式。本篇攻略将为你讲解使用 Spring Data JPA 的过程。
二、Spring Data JPA 简介
Spring Data JPA 是 Spring 框架下的一个子项目,它是针对 JPA 技术提供的一个封装框架,使得我们在使用 JPA(Java Persistence API)技术的时候可以更加便捷、高效地访问关系型数据库。
三、Spring Data JPA 的使用步骤
1、添加依赖
首先,我们需要在 pom.xml 文件中添加下列依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.x.x.RELEASE</version>
</dependency>
2、创建实体类
在开始使用 Spring Data JPA 之前,我们需要先创建一个实体类,这个实体类将对应数据库中的表。
举个例子,声明一个 User 实体类:
@Entity
@Table(name = "user_info")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "username", nullable = false)
private String username;
//其他属性及get、set方法省略
}
在这个实体类中,@Entity 注解表明该类是一个实体类。@Table 注解指定了该实体类对应的表名。@Id、@GeneratedValue、@Column 三个注解表示该实体类中的属性与表中的字段对应关系。
3、创建 Repository
接下来,我们需要创建一个 Repository 接口,这个接口将对我们的数据库进行操作。
创建一个 UserRepository 接口:
public interface UserRepository extends JpaRepository<User, Long> {
User findByUsername(String username);
}
在这个接口中,继承了 JpaRepository 接口,该接口提供了许多我们操作数据库的方法。findByUsername 方法指定了根据 username 属性查找实体数据的方法。
4、操作数据库
最后,我们就可以使用 UserRepository 来操作数据库了。
@RestController
@RequestMapping("/api/user")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("/{id}")
public User getUser(@PathVariable Long id) {
return userRepository.findById(id).orElse(null);
}
@PostMapping("")
public User addUser(@RequestBody User user) {
return userRepository.save(user);
}
@PutMapping("/{id}")
public User updateUser(@PathVariable Long id, @RequestBody User user) {
user.setId(id);
return userRepository.save(user);
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable Long id) {
userRepository.deleteById(id);
}
@GetMapping("")
public List<User> getAllUsers() {
return userRepository.findAll();
}
}
在上述代码中,我们使用了@Autowired注解来注入UserRepository,通过注入的UserRepository可以完成对于数据库的增删改查操作。
四、Spring Data JPA 的常用查询方式
除了上述提到的 findByUsername 方法外,Spring Data JPA 提供了许多便捷的查询方式。下面我们根据示例介绍一下 Spring Data JPA 常用的查询方式:
1、通过字段获取数据
通过username字段获取数据:
User findByUsername(String username);
2、获取所有数据
获取所有数据:
List<User> findAll();
3、批量删除
根据多个id批量删除:
void deleteByIdIn(List<Long> ids);
五、结语
以上就是 Spring Data JPA 的基本使用和常用查询方式的介绍,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:spring data jpa使用详解(推荐) - Python技术站