导入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自动配置原理
- DataSourceAutoConfiguration : 数据源的自动配置
- 修改数据源相关的配置:spring.datasource
- 数据库连接池的配置,是自己容器中没有DataSource才自动配置的
- 底层配置好的连接池是:HikariDataSource


-
DataSourceTransactionManagerAutoConfiguration: 事务管理器的自动配置
-
JdbcTemplateAutoConfiguration: JdbcTemplate的自动配置,可以来对数据库进行crud
- 配置文件 prefix = "spring.jdbc" 来修改JdbcTemplate配置
- @Bean @Primary JdbcTemplate;容器中自动注入JdbcTemplate组件


-
JndiDataSourceAutoConfiguration: jndi的自动配置
-
XADataSourceAutoConfiguration: 分布式事务相关的配置,基于XA⼆阶提交协议的分布式事务数据源