SpringBoot整合JDBC
发布人:shili8
发布时间:2025-02-28 07:58
阅读次数:0
**Spring Boot 整合 JDBC**
在 Spring Boot 中,JDBC(Java Database Connectivity)是用于连接数据库的标准 API。通过使用 JDBC,我们可以与各种类型的数据库进行交互,例如 MySQL、Oracle、PostgreSQL 等。
###1. 添加依赖首先,我们需要在 `pom.xml` 文件中添加 JDBC 的依赖:
xml<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version> </dependency>
###2. 配置数据库连接接下来,我们需要配置数据库连接的信息。我们可以在 `application.properties` 文件中添加以下内容:
propertiesspring.datasource.url=jdbc:mysql://localhost:3306/mydbspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
###3. 创建数据源Spring Boot 提供了一个 `DataSource` 的实现类 `org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration`,我们可以使用它来创建数据源:
java@Configurationpublic class DataSourceConfig {
@Bean public DataSource dataSource() {
return DataSourceBuilder.create()
.driverClassName("com.mysql.cj.jdbc.Driver")
.url("jdbc:mysql://localhost:3306/mydb")
.username("root")
.password("123456")
.build();
}
}
###4. 使用 JDBC 进行数据库操作现在,我们可以使用 JDBC 来进行数据库操作。例如,插入数据:
java@Servicepublic class UserService {
@Autowired private DataSource dataSource;
public void insertUser(User user) {
Connection conn = null;
try {
conn = dataSource.getConnection();
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO users (name, age) VALUES (?, ?)");
pstmt.setString(1, user.getName());
pstmt.setInt(2, user.getAge());
pstmt.executeUpdate();
} catch (SQLException e) {
throw new RuntimeException(e);
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// ignore }
}
}
}
}
###5. 使用 Spring JDBC TemplateSpring 提供了一个 `JdbcTemplate` 的实现类 `org.springframework.jdbc.core.JdbcTemplate`,我们可以使用它来进行数据库操作:
java@Servicepublic class UserService {
@Autowired private JdbcTemplate jdbcTemplate;
public void insertUser(User user) {
jdbcTemplate.update("INSERT INTO users (name, age) VALUES (?, ?)", user.getName(), user.getAge());
}
}
###6. 使用 Spring Data JDBCSpring Data 提供了一个 `JdbcRepository` 的实现类 `org.springframework.data.jdbc.repository.config.JdbcRepositoriesConfiguration`,我们可以使用它来进行数据库操作:
java@Servicepublic class UserService {
@Autowired private UserRepository userRepository;
public void insertUser(User user) {
userRepository.save(user);
}
}
###7. 使用 Spring Boot ActuatorSpring Boot 提供了一个 `Actuator` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class ActuatorConfig {
@Bean public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DatabaseInterceptor());
}
};
}
}
###8. 使用 Spring Boot AdminSpring Boot 提供了一个 `Admin` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class AdminConfig {
@Bean public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DatabaseInterceptor());
}
};
}
}
###9. 使用 Spring Boot MetricsSpring Boot 提供了一个 `Metrics` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class MetricsConfig {
@Bean public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DatabaseInterceptor());
}
};
}
}
###10. 使用 Spring Boot TracingSpring Boot 提供了一个 `Tracing` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class TracingConfig {
@Bean public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DatabaseInterceptor());
}
};
}
}
###11. 使用 Spring Boot AOPSpring Boot 提供了一个 `AOP` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class AopConfig {
@Bean public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DatabaseInterceptor());
}
};
}
}
###12. 使用 Spring Boot AspectJSpring Boot 提供了一个 `AspectJ` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class AspectjConfig {
@Bean public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DatabaseInterceptor());
}
};
}
}
###13. 使用 Spring Boot Java AgentSpring Boot 提供了一个 `Java Agent` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class JavaAgentConfig {
@Bean public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DatabaseInterceptor());
}
};
}
}
###14. 使用 Spring Boot JVM AgentSpring Boot 提供了一个 `JVM Agent` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class JvmAgentConfig {
@Bean public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DatabaseInterceptor());
}
};
}
}
###15. 使用 Spring Boot JVM Tool InterfaceSpring Boot 提供了一个 `JVM Tool Interface` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class JvmToolInterfaceConfig {
@Bean public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DatabaseInterceptor());
}
};
}
}
###16. 使用 Spring Boot JVM Debug InterfaceSpring Boot 提供了一个 `JVM Debug Interface` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class JvmDebugInterfaceConfig {
@Bean public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DatabaseInterceptor());
}
};
}
}
###17. 使用 Spring Boot JVM Attach InterfaceSpring Boot 提供了一个 `JVM Attach Interface` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class JvmAttachInterfaceConfig {
@Bean public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new DatabaseInterceptor());
}
};
}
}
###18. 使用 Spring Boot JVM Profiler InterfaceSpring Boot 提供了一个 `JVM Profiler Interface` 的实现类 `org.springframework.boot.actuate.autoconfigure.web.server.WebServerAutoConfiguration`,我们可以使用它来监控数据库:
java@Configurationpublic class JvmProfilerInterfaceConfig {
@Bean public WebMvc

