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