下面是 “Spring Data环境搭建实现过程解析”的详细攻略。
1. 前置条件
在开始搭建Spring Data环境之前,需要对以下内容进行准备:
- 安装JDK(Java Development Kit),并设置JAVA_HOME环境变量。
- 安装Maven,确保Maven能够正常运行。
2. 创建Maven项目
使用Maven创建一个新项目,可以使用如下命令:
mvn archetype:generate -DgroupId=com.example -DartifactId=spring-data-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
这个命令会创建一个名为“spring-data-demo”的Maven项目,并使用“maven-archetype-quickstart”这个模板。
接下来,进入项目所在目录,使用以下命令将项目导入Eclipse:
mvn eclipse:eclipse
3. 添加Spring Data依赖
在pom.xml文件中添加Spring Data的依赖,如下所示:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>2.5.1</version>
</dependency>
这个依赖将帮助我们快速搭建Spring Data环境。此外,还需要添加数据库连接池和驱动程序的依赖:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.31.Final</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.8</version>
</dependency>
上面的依赖用于连接H2数据库和Hibernate持久化框架。
4. 编写实体类和Repository接口
定义一个实体类,并使用JPA注解进行配置:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String firstName;
private String lastName;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
接着,创建一个Repository:
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByLastName(String lastName);
}
上面的接口定义了一个用于根据用户的lastName属性查询用户的方法。
5. 编写测试代码
编写测试代码并运行,以确保一切顺利。
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserRepositoryTest {
@Autowired
private UserRepository userRepository;
@Test
public void testSave() {
User user = new User();
user.setFirstName("John");
user.setLastName("Doe");
userRepository.save(user);
List<User> users = userRepository.findByLastName("Doe");
assertEquals(users.size(), 1);
assertEquals(users.get(0).getFirstName(), "John");
}
}
上面的测试方法创建了一个新的User对象并保存到数据库中,接着查询所有lastName为“Doe”的用户对象。
6. 运行测试
使用Maven编写的测试代码:
mvn test
测试通过后,Spring Data的环境就已经搭建完毕了!
7.示例二
使用Spring Data JDBC和嵌入式的H2数据库。
7.1 添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>>
7.2 写一个Person类
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Person {
private Long id;
private String firstName;
private String lastName;
}
7.3 配置DataSource和JdbcTemplate
@Override
public void configure(Binder binder){
var dataSource = new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.H2)
.build();
template = new JdbcTemplate(dataSource);
}
7.4 执行JdbcTemplate
template.execute("CREATE TABLE PERSON (ID INT PRIMARY KEY, FIRST_NAME VARCHAR(50), LAST_NAME VARCHAR(50))");
template.update("INSERT INTO PERSON(ID,FIRST_NAME,LAST_NAME)VALUES(1,?,?)",new Object[]{"Bill","Gates"}));
var rows=template.queryForList("SELECT * FROM PERSON");
for (var row : rows) {
System.out.println(row.toString());
}
这样,我们的Spring Data JDBC 的示例就完成了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Data环境搭建实现过程解析 - Python技术站