栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Mysql学习】Springboot连接数据库

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Mysql学习】Springboot连接数据库

前面有写JDBC直连数据库,需要创建连接,使用完数据库之后要关闭数据库连接,连接池应运而生。

数据库连接池

数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。(摘自百度百科)

java的核心接口有DataSource、XADataSource、ConnectionPoolDataSource,接口CommonDataSource定义通用方法

DataSource
连接到此DataSource对象所表示的物理数据源的工厂。作为DriverManager工具的替代,DataSource对象是获得连接的首选方式。实现DataSource接口的对象通常会在基于Java™命名和目录(JNDI) API的命名服务中注册。
DataSource接口由驱动程序供应商实现。有三种类型的实现:
基本实现——生成标准的Connection对象
连接池实现——生成一个自动参与连接池的Connection对象。此实现使用中间层连接池管理器。
分布式事务实现——产生一个可以用于分布式事务的Connection对象,并且几乎总是参与连接池。此实现使用中间层事务管理器,并且几乎总是使用连接池管理器。
DataSource对象具有可以在必要时修改的属性。例如,如果数据源移动到不同的服务器,则可以更改该服务器的属性。其好处在于,由于数据源的属性可以更改,因此不需要更改访问该数据源的任何代码。
一个通过DataSource对象访问的驱动程序不注册自己到DriverManager。相反,通过查找操作检索DataSource对象,然后用于创建Connection对象。在基本实现中,通过DataSource对象获得的连接与通过DriverManager工具获得的连接是相同的。
DataSource的实现必须包含一个公共的无参数构造函数。
XADataSource

用于创建一个物理数据库连接,可以用在一个分布式事务

XAConnection getXAConnection() throws SQLException;

XAConnection getXAConnection(String user, String password) throws SQLException;
ConnectionPoolDataSource

用于创建一个物理数据库连接,可以用在一个连接池

CommonDataSource

Interface that defines the methods which are common between DataSource, XADataSource and ConnectionPoolDataSource.

常用数据连接池

目前常用的数据连接池有Druid,都是属于DataSource的实现类。

Springboot默认数据源

目前springboot默认的数据连接池为hikari

需要引入spring-boot-starter-jdbc依赖,主要提供了三个功能,第⼀个就是对数据源的装配,第⼆个就是提供⼀个JdbcTemplate简化使⽤,第三个就是事务

application.properties

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=question
spring.datasource.password=question123
spring.datasource.url=jdbc:mysql://localhost:3306/questions?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8

  springboot通过自动配置,会自动生成名为datasource的bean,可以通过创建自己的jdbcTemplate工具类,也可以spring自带JDBCTemplate

JDBCTemplate

Spring Boot 提供配置好了 JdbcTemplate 使用时注⼊即可使⽤,其中⾃动配置是依赖 org.springframework.boot.autoconfigure.jdbc 包下的 JdbcTemplateConfiguration 类

通过jdbcTemplate就能进行数据库操作

   List> s =  template.queryForList("select * from questions");
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/936203.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号