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⼆阶提交协议的分布式事务数据源

相关推荐
XS03010613 小时前
并发编程 六
java·后端
yaoxin52112313 小时前
419. 现代 Java IO 最佳实践 - 写入文本文件
java·windows·python
雪宫街道13 小时前
synchronized 锁的范围:对象锁、类锁与代码块锁
java·jvm·后端·面试
x***r15113 小时前
linux安装 jdk-8u291-linux-x64.tar.gz 详细步骤(解压配置环境变量)
java
极光代码工作室13 小时前
基于SpringBoot的校园论坛系统
java·springboot·web开发·后端开发
XS03010614 小时前
Spring Bean 作用域 & 生命周期
java·后端·spring
NagatoYukee14 小时前
Spring Security基础部分学习
java·学习·spring
彦为君14 小时前
JavaSE-07-异常机制
java·开发语言·后端·python·spring
_Aaron___15 小时前
Spring AI 接入 MCP:工具调用不是“能调就行”,关键是边界治理
java·人工智能·spring
向量引擎15 小时前
从零起步,如何打造专属向量引擎 API 中转工作流?
java·服务器·前端