轻松搭建高效系统!使用SpringBoot连接数据库 (springboot连接数据库)

SpringBoot是一个非常流行的框架,它减少了应用程序的开发时间,同时提供了许多优秀的功能,它可以让你轻松地搭建一个高效的系统。SpringBoot还支持许多第三方库,其中更流行的就是连接数据库。

在本文中,我们将讨论如何使用SpringBoot来连接数据库,为你的系统增加数据库操作功能。

1、 添加依赖

在开始编写代码之前,首先需要添加相关的依赖。在pom.xml文件中,添加如下的代码:

“`xml

org.springframework.boot

spring-boot-starter-data-jpa

com.h2database

h2

1.4.196

“`

这里我们使用了两个依赖:spring-boot-starter-data-jpa 和 h2 。其中,spring-boot-starter-data-jpa 依赖包含了SpringBoot的数据访问框架,它对JPA(Java Persistence API)提供了自动配置,只需极少量的代码就可以连接数据库。在此基础上,我们选择了 h2 数据库,在实际编写过程中,你可以根据自己的需要更换为其他数据库。

2、 配置数据库

在配置文件 applications.properties 中添加以下内容:

“`

spring.jpa.hibernate.ddl-auto=create

spring.datasource.url=jdbc:h2:mem:testdb

spring.datasource.driverClassName=org.h2.Driver

spring.datasource.username=sa

spring.datasource.password=

“`

其中,spring.jpa.hibernate.ddl-auto=create 这一行代码指示Hibernate在启动时为我们生成数据库表结构。 jdbc:h2:mem:testdb 是连接H2数据库的URL,它包含了数据库的实际名称(testdb)。org.h2.Driver 是H2数据库的JDBC驱动程序类,而sa和密码为空字符串,则是连接到H2数据库的默认用户名和密码。

3、 定义基本实体

接下来,我们需要定义一些实体类。实体类是映射到数据库表中的对象,在这个对象中我们可以定义表中的各种字段,以及实体之间的关系。在本文中,我们定义了一个简单的实体类用于演示,具体代码如下:

“`java

@Entity

@Table(name=”employee”)

public class Employee {

@Id

@GeneratedValue(strategy= GenerationType.AUTO)

private Long id;

private String firstName;

private String lastName;

public Employee() {}

public Employee(String firstName, String lastName) {

this.firstName = firstName;

this.lastName = lastName;

}

public Long getId() {

return 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;

}

}

“`

在这个实体类中,我们定义了 id, firstName 和 lastName 三个字段。id 是主键,注解@Id 和@GeneratedValue(strategy= GenerationType.AUTO)用于设置其自动递增。@Table(name=”employee”)用于指定表名。

4、 实现Repository

完整的实现Repository的方法如下:

“`java

@Repository

public interface EmployeeRepository extends JpaRepository{

}

“`

其中,@Repository注解表示这个EmployeeRepository接口是一个仓库层的组件,而JpaRepository则是SpringDataJPA为我们提供的一个有趣的接口,提供了许多操作数据库的方法,比如:findAll()、save()、delete()等。

5、 编写测试代码

测试代码如下:

“`java

@RunWith(SpringRunner.class)

@SpringBootTest

public class EmployeeRepositoryIntegrationTest {

@Autowired

private TestEntityManager entityManager;

@Autowired

private EmployeeRepository employeeRepository;

@Test

public void whenFindByName_thenReturnEmployee() {

// given

Employee alex = new Employee(“Alex”, “Tao”);

entityManager.persist(alex);

entityManager.flush();

// when

Employee found = employeeRepository.findByFirstName(alex.getFirstName());

// then

assertThat(found.getLastName())

.isEqualTo(alex.getLastName());

}

}

“`

这个测试代码使用的是JUnit框架,它启动了一个Spring容器,并使用TestEntityManager模拟了数据库的操作。在测试代码中,我们向实体类Employee中添加一条名为Alex的数据,并使用employeeRepository.findByFirstName方法找到这个数据。

6、 运行测试

完成前面的代码后,运行测试程序,如果一切正常,将看到测试成功的结果信息,意味着系统已经成功连接到H2数据库。

7、


数据运维技术 » 轻松搭建高效系统!使用SpringBoot连接数据库 (springboot连接数据库)