基于Spring Boot 2集成JPA(Java Persistence API),创建DAO (Data Access Object) 的攻略还是比较简单的。下面我将为你提供一个详细的过程。
1. 创建Spring Boot项目和配置文件
首先,我们需要创建一个Spring Boot的项目,如果你已经创建了一个项目,那就不需要再做这一步了。我们使用Maven来进行项目的管理,所以需要在建立项目的时候选择Maven项目。
在创建完项目后,我们需要添加如下依赖到pom.xml中:
<dependencies>
<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>
</dependencies>
除此之外,我们还需要在配置文件中配置一些属性。这里以application.yml为例:
spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:testdb
username: sa
password:
jpa:
hibernate:
ddl-auto: create-drop
show-sql: true
repository:
enabled: true
上述配置中,我们使用了内存数据库h2。当然,你也可以使用其他的数据库进行配置。
2. 创建实体类
在JPA中,我们把一个Java类映射成一个数据库表,这个Java类就是我们的实体类。因此,在这一步中,我们需要创建一个实体类。
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "age")
private Integer age;
// getters and setters
}
在上述代码中,我们使用了@Entity和@Table来进行实体类的映射。
3. 创建DAO接口
在JPA中,我们使用DAO(Data Access Object)来操作数据库。创建一个DAO接口非常简单,只需要继承JpaRepository接口即可。在这个接口中我们就不需要定义任何的方法了。JpaRepository内部已经定义了一些基本的方法,比如:save、delete、findById等等。
public interface UserRepository extends JpaRepository<User, Long> {
}
4. 编写测试代码
在上述步骤完成之后,我们就可以愉快的编写测试代码了。下面给大家提供两个测试代码的示例:
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserRepositoryTest {
@Autowired
private UserRepository userRepository;
@Test
public void testCreateUser() {
User user = new User();
user.setAge(18);
user.setName("test");
userRepository.save(user);
User result = userRepository.findById(user.getId()).orElse(null);
Assert.assertEquals(user, result);
}
@Test
public void testUpdateUser() {
User user = new User();
user.setAge(18);
user.setName("test");
userRepository.save(user);
User result1 = userRepository.findById(user.getId()).orElse(null);
Assert.assertEquals(user, result1);
user.setName("test1");
userRepository.save(user);
User result2 = userRepository.findById(user.getId()).orElse(null);
Assert.assertEquals(user, result2);
}
}
上述测试中,我们测试了如何新增一个用户和如何更新用户的操作。
至此,整个教程已经结束了。希望本篇文章可以对正在学习Spring Boot和JPA的开发者有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于springboot2集成jpa,创建dao的案例 - Python技术站