使用SpringBoot配置数据库连接

发布时间:2023-05-18

SpringBoot已经成为了一种非常流行的Java开发框架,其设计目的就是为了简化Spring应用程序的搭建和开发过程。与传统的Spring框架相比,SpringBoot免去了很多繁琐的配置,能够让开发者更快速高效地构建Java Web应用。接下来,本文将从多个方面详细介绍在SpringBoot中如何配置数据库连接。

一、添加Spring Data JPA依赖

在使用SpringBoot进行数据库编程时,Spring Data JPA是我们常用的组件之一,因为它不仅提供了一种和数据库打交道的方式,更提供了很多的实用功能,可以帮助我们快速简单地进行CRUD操作。 1、在pom.xml中添加如下依赖:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2、完成依赖添加后,在application.properties文件中添加如下配置:

spring.datasource.url=<your-database-url>
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=<your-username>
spring.datasource.password=<your-password>
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

其中,<your-database-url>是指数据库的URL,<your-username><your-password>分别是数据库的用户名和密码。上述配置文件中还需要指定数据库类型和Hibernate的一些常规配置。

二、使用SpringBoot自动配置

SpringBoot很好的完成了整个应用程序的自动配置,它可以根据我们添加的依赖自动配置数据库连接。在使用SpringBoot进行数据库编程时,我们完全可以依赖于其自身的自动配置,免去了很多不必要的步骤。 1、首先,在pom.xml中添加Spring Data JPA的依赖:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2、在application.properties文件中添加如下配置:

spring.datasource.url=<your-database-url>
spring.datasource.username=<your-username>
spring.datasource.password=<your-password>

添加完上述配置之后,如果使用的是Hibernate,则默认的JPA提供商为Hibernate;如果使用的是EclipseLink,则默认的JPA提供商为EclipseLink。我们不需要再进行额外的配置,SpringBoot会在项目启动时自动配置好数据库连接。

三、使用JDBC连接数据库

同时,我们也可以使用Spring自带的JdbcTemplate对象来简化JDBC的使用,从而避免了我们繁琐的ResultSet读取和PreparedStatement设置参数的工作量。 1、在pom.xml中添加如下依赖:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <scope>runtime</scope>
</dependency>

2、在application.properties文件中添加如下配置:

spring.datasource.url=<your-database-url>
spring.datasource.username=<your-username>
spring.datasource.password=<your-password>

3、使用JdbcTemplate对象进行数据库操作:

@Autowired
private JdbcTemplate jdbcTemplate;
public List<FooDto> findAll() {
    return jdbcTemplate.query("SELECT * FROM foo_table", new BeanPropertyRowMapper<>(FooDto.class));
}

通过注入JdbcTemplate对象,我们可以使用SpringBoot自带的JdbcTemplate操作数据库。

四、使用Spring Boot的DataSourceConfig

在实际应用中,我们可能会使用多个数据源(例如,master/slave数据库)。此时,我们可以使用Spring Boot的DataSourceConfig,基于多属性文件进行数据源配置。 1、首先,我们需要在项目的src/main/resources目录下创建多个属性文件,每个属性文件都对应一个数据源的配置信息,例如:application-master.properties用于主数据源的配置,application-slave.properties用于从数据源的配置。 2、在application.properties文件中添加如下配置:

spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.master=classpath:application-master.properties
spring.datasource.slave=classpath:application-slave.properties

3、在启动主类中添加注解:

@SpringBootApplication
@EnableTransactionManagement
@EnableConfigurationProperties({DataSourceProperties.class, SlaveDataSourceProperties.class})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

在主类中添加@EnableConfigurationProperties注解,指定数据源配置文件的加载。我们可以为每个数据源定义一个DataSourceProperties类,来代表每个数据源的配置。

总结

通过本文的介绍,我们了解了在SpringBoot中配置数据库连接的多种方式,包括添加Spring Data JPA依赖、使用SpringBoot自动配置、使用JDBC连接数据库以及使用Spring Boot的DataSourceConfig。这些方法让我们能够减少繁琐的配置,快速地进行数据库编程。