springboot集成jpa使用EntityManager实现基础增删改查方法
时间: 2023-06-10 13:07:54 浏览: 113
在Spring Boot中,使用JPA可以方便地实现基本的增删改查操作。具体步骤如下:
1. 添加JPA和数据库驱动的依赖。在pom.xml文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
```
2. 配置数据源。在application.properties文件中添加以下配置:
```properties
spring.datasource.url=jdbc:h2:mem:test
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
```
3. 创建实体类。在Java包中创建实体类,使用@Entity和@Id注解标记主键。
```java
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
private String email;
// getter/setter方法
}
```
4. 创建Repository接口。在Java包中创建一个接口,继承JpaRepository,该接口自动继承了基本的CRUD方法。
```java
public interface UserRepository extends JpaRepository<User, Long> {
}
```
5. 创建Service层。在Java包中创建Service类,使用@Autowired注解注入Repository,并实现基本的增删改查方法。
```java
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public User save(User user) {
return userRepository.save(user);
}
public void delete(Long id) {
userRepository.deleteById(id);
}
public User findById(Long id) {
Optional<User> optional = userRepository.findById(id);
return optional.orElse(null);
}
public List<User> findAll() {
return userRepository.findAll();
}
}
```
6. 创建Controller层。在Java包中创建Controller类,使用@Autowired注解注入Service,并实现对应的接口。
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("")
public User save(@RequestBody User user) {
return userService.save(user);
}
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) {
userService.delete(id);
}
@GetMapping("/{id}")
public User findById(@PathVariable Long id) {
return userService.findById(id);
}
@GetMapping("")
public List<User> findAll() {
return userService.findAll();
}
}
```
以上就是集成JPA实现基础增删改查方法的步骤。在使用中,只需通过Controller层调用对应的接口即可完成对数据库的操作。