下面我就为你详细讲解“SpringBoot实战记录之数据访问”的完整攻略。
一、准备工作
在进行 SpringBoot 数据访问之前,首先需要进行一些准备工作。你需要确保项目中已经添加了以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
其中,spring-boot-starter-data-jpa
是 Spring Data JPA 的起步依赖,而 h2
则是一个内嵌式的 Java 数据库,可以用于测试和开发。
二、创建实体类
在进行数据访问之前,需要先定义数据模型。在本文中,我们创建一个 User
实体类。
@Entity // 实体类的注解
public class User {
@Id // 表示当前字段是主键
@GeneratedValue(strategy = GenerationType.AUTO) // 自动生成主键
private Long id;
@Column(nullable = false, unique = true) // 表示当前字段对应数据库的列
private String username;
@Column(nullable = false) // 表示当前字段对应数据库的列
private String password;
// 省略 getter 和 setter
}
这里用到了一些 JPA 的注解,@Entity
表示该类是一个实体类,@Id
表示当前字段是主键,@GeneratedValue
表示主键自动生成,@Column
表示当前字段对应数据库的列。
三、创建 DAO 接口
完成实体类定义之后,需要定义 DAO 接口,用于操作数据库。在本文中,我们定义一个 UserRepository
接口。
public interface UserRepository extends JpaRepository<User, Long> {
User findByUsername(String username);
}
这里使用了 Spring Data JPA 提供的 JpaRepository
接口,该接口提供了对实体类的一些默认操作,比如增删改查等。UserRepository
接口继承了 JpaRepository
接口,并指定了实体类和主键类型。除此之外,UserRepository
接口还定义了一个 findByUsername
方法,用于根据用户名查询用户信息。
四、使用 DAO 接口操作数据
完成 DAO 接口定义之后,就可以使用该接口进行数据访问了。在本文中,我们使用 JUnit 进行单元测试,测试实际的数据访问代码。
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserRepositoryTest {
@Autowired // 自动装配 UserRepository
private UserRepository userRepository;
@Test
public void testUserRepository() {
// 测试插入数据
User user1 = new User();
user1.setUsername("admin");
user1.setPassword("admin");
userRepository.save(user1);
// 测试查询数据
User user2 = userRepository.findByUsername("admin");
assertThat(user2.getPassword()).isEqualTo("admin");
// 测试更新数据
user2.setPassword("123456");
userRepository.save(user2);
User user3 = userRepository.findByUsername("admin");
assertThat(user3.getPassword()).isEqualTo("123456");
// 测试删除数据
userRepository.delete(user3);
User user4 = userRepository.findByUsername("admin");
assertThat(user4).isNull();
}
}
这里使用了 Spring Boot 自带的测试框架,首先通过 @Autowired
注解自动装配 UserRepository
接口,然后依次进行插入、查询、更新、删除等操作,并对操作的结果进行断言。
五、另一种数据源的配置方式
另外一种更常用的配置数据源的方式是,在 application.properties
文件中加入以下配置:
# DataSource
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
其中,spring.datasource.url
、spring.datasource.username
和 spring.datasource.password
分别表示数据库的连接 URL、用户名和密码,而 spring.datasource.driver-class-name
则指定了数据库驱动的类名。配置好数据源之后,就可以使用 Spring Data JPA 进行数据库操作了。
以上就是本次“SpringBoot实战记录之数据访问”的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot实战记录之数据访问 - Python技术站