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

相关推荐
秋天的怀念_David8 分钟前
第二十二夜 · 数字迷雾
java·程序人生·算法
Raas10021 分钟前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
niucloud-admin1 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
霸道流氓气质1 小时前
智能客服组件:分层意图识别、RAG Advisor 与人工转接状态机的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
captain3762 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
心中有你02142 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
步行cgn3 小时前
Spring MVC + Thymeleaf 模板解析失败:从 500 错误到页面正常显示
java·spring·mvc
lgcgkCQ3 小时前
【AI 转型实战 1】SpringAI 入门:搭建基础大模型对话能力
java·ai·agent·rag·spring ai·mcp·langchain4j
Wang's Blog4 小时前
Java 项目实战:交友项目 - 用户体系集成总结
java·开发语言·交友
学到老活到老4 小时前
第 24 集:配置文件写了 80,Spring Boot 为什么读到 90?
java·后端·spring