项目1:jpa的增删改查 实验步骤:(项目创建过程、项目名称、项目内容可参照教材) 步骤1:创建Spring Boot项目,引入JPA依赖(略) 步骤2:编写全局属性文件(配置代码) 步骤3:创建users实体类,映射数据结构 步骤4:编写测试类,完成增删改查的测试
时间: 2024-11-30 08:29:22 浏览: 30
项目1是一个基于Spring Boot和JPA的数据库操作示例。以下是实验步骤详解:
**步骤1:创建Spring Boot项目**
首先,你需要通过Maven或Gradle创建一个新的Spring Boot项目。在pom.xml或build.gradle文件中添加Spring Data JPA的依赖,例如在Maven中:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
```
**步骤2:编写全局属性文件(配置代码)**
在`application.properties` 或 `application.yml` 文件中,配置数据库连接信息,如JDBC URL、用户名、密码以及数据库驱动(如H2、MySQL等):
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=myuser
spring.datasource.password=mypassword
spring.jpa.hibernate.ddl-auto=update
```
**步骤3:创建users实体类(Entity)**
创建一个名为`User.java`的实体类,代表用户表结构,并使用@javax.persistence.Entity注解标记它作为JPA实体:
```java
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// Getters and Setters
}
```
**步骤4:编写测试类及增删改查测试**
创建一个名为`UserRepositoryTest.java`的测试类,注入UserRepository并利用JpaRepository接口提供的方法进行CRUD操作:
```java
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@SpringBootTest
public class UserRepositoryTest {
@Autowired
private UserRepository userRepository;
@Test
public void testCRUD() {
// 插入新用户
User user = new User("Alice", "alice@example.com");
userRepository.save(user);
// 查询并验证用户是否存在
User savedUser = userRepository.findById(user.getId()).orElse(null);
assertNotNull(savedUser);
// 更新用户信息
savedUser.setEmail("updated@example.com");
userRepository.save(savedUser);
// 删除用户
userRepository.deleteById(user.getId());
// 验证删除后的结果
Page<User> usersPage = userRepository.findAll(new PageRequest(0, 1));
assertEquals(0, usersPage.getTotalElements());
}
}
```
阅读全文