SpringBoot-数据访问之JDBC

导入JDBC

  • 数据库驱动需要自行导入
XML 复制代码
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
</dependency>

数据源配置

  • 新版本的驱动类为:com.mysql.cj.jdbc.Driver

  • 数据库中,时区报错的可以在设置MySQL时区为东八区: set global time_zone='+8:00'

  • 然后查看时间是否与系统时间一致: select now();

    spring:
    datasource:
    url: jdbc:mysql://localhost:3306/db_account
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver

测试数据库连接

java 复制代码
@Slf4j
@SpringBootTest
class Boot05WebAdminApplicationTests {

    @Autowired
    JdbcTemplate jdbcTemplate;

    @Test
    void contextLoads() {

        Long aLong = jdbcTemplate.queryForObject(
					"select count(*) from account_tbl", 
					Long.class);
        log.info("记录总数:{}",aLong);
    }
}

JDBC自动配置原理

  1. DataSourceAutoConfiguration : 数据源的自动配置
  • 修改数据源相关的配置:spring.datasource
  • 数据库连接池的配置,是自己容器中没有DataSource才自动配置的
  • 底层配置好的连接池是:HikariDataSource
  1. DataSourceTransactionManagerAutoConfiguration: 事务管理器的自动配置

  2. JdbcTemplateAutoConfiguration: JdbcTemplate的自动配置,可以来对数据库进行crud

  • 配置文件 prefix = "spring.jdbc" 来修改JdbcTemplate配置
  • @Bean @Primary JdbcTemplate;容器中自动注入JdbcTemplate组件
  1. JndiDataSourceAutoConfiguration: jndi的自动配置

  2. XADataSourceAutoConfiguration: 分布式事务相关的配置,基于XA⼆阶提交协议的分布式事务数据源

相关推荐
码路飞29 分钟前
GPT-5.3 Instant 终于学会好好说话了,顺手对比了下同天发布的 Gemini 3.1 Flash-Lite
java·javascript
洋洋技术笔记35 分钟前
Spring Boot Web MVC配置详解
spring boot·后端
SimonKing1 小时前
OpenCode AI编程助手如何添加Skills,优化项目!
java·后端·程序员
Seven973 小时前
剑指offer-80、⼆叉树中和为某⼀值的路径(二)
java
怒放吧德德14 小时前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆16 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
心之语歌18 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
初次攀爬者19 小时前
Kafka 基础介绍
spring boot·kafka·消息队列
华仔啊19 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang19 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构