午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot快速配置數(shù)據(jù)源的方法

瀏覽:160日期:2023-04-17 08:07:08

SpringBoot如何快速配置數(shù)據(jù)源;有如下兩種方式:

通過spring-boot-starter-jdbc快速配置數(shù)據(jù)源 自定義數(shù)據(jù)源DataSource

首先我們需要明確數(shù)據(jù)源DataSource有什么作用:

通過DataSource可以獲取數(shù)據(jù)庫連接Connection 通過DataSource創(chuàng)建JdbcTemplate操作數(shù)據(jù)庫

實際項目中,我們在配置數(shù)據(jù)源的時候會指定數(shù)據(jù)庫連接池,比如流行的Hikari(spring默認(rèn)的數(shù)據(jù)庫連接池)、C3p0、Dbcp2以及阿里巴巴的Druid。

一、使用數(shù)據(jù)庫連接池

應(yīng)用在操作數(shù)據(jù)庫的時候,直接從數(shù)據(jù)庫連接池獲取連接,而不需要每次創(chuàng)建新的連接。

至于數(shù)據(jù)庫連接池的好處,總結(jié)就是: 應(yīng)用創(chuàng)建和銷毀連接的代價是很大的,使用數(shù)據(jù)庫連接池可以很好的復(fù)用連接,節(jié)省開銷,方便管理,簡化開發(fā)。

可能有些場景我們不想使用SpringBoot JDBC默認(rèn)的數(shù)據(jù)源,我需要引入數(shù)據(jù)庫連接池,然后自定義數(shù)據(jù)源,指定數(shù)據(jù)源類型。

下面以Dbcp2數(shù)據(jù)庫連接池配置數(shù)據(jù)源為例。

二、配置依賴

引入dbcp2的數(shù)據(jù)庫連接池已經(jīng)相關(guān)依賴。

<!-- dbcp2數(shù)據(jù)庫連接池 --><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>2.7.0</version></dependency><!--數(shù)據(jù)庫驅(qū)動--><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version></dependency><!-- 提供操作數(shù)據(jù)庫的標(biāo)準(zhǔn)口徑 --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.2.RELEASE</version> <scope>compile</scope></dependency>

三、編寫配置項

在application.properties文件中配置數(shù)據(jù)庫連接屬性。

customize.datasource.url=jdbc:mysql://localhost:3306/blue?serverTimezone=UTCcustomize.datasource.username=rootcustomize.datasource.password=wan4380797customize.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

四、自定義DataSource

import org.apache.commons.dbcp2.BasicDataSource;@Configurationpublic class Dbcp2DataSource { @Bean('myDbcp2DataSource') @ConfigurationProperties(prefix = 'customize.datasource') public DataSource getDataSource(){ return DataSourceBuilder.create().type(BasicDataSource.class).build(); }}

這邊我們可以看到我們創(chuàng)建的DataSource類型為BasicDataSource類型的。并且BasicDataSource來源于之前配置的dbcp2依賴的jar包中。

五、調(diào)用驗證

下面我們使用junit來驗證以下數(shù)據(jù)源配置的正確與否:

@SpringBootTest@RunWith(SpringRunner.class)public class JdbcCustomizeDatasourceApplicationTests { @Autowired @Qualifier('myDbcp2DataSource') private DataSource dataSource; @Test public void springJdbcTemplateTest(){ try{ JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); String queryStr = 'select * from student'; List<Student> resultList = new ArrayList<>(); jdbcTemplate.query(queryStr, (ResultSet resultSet)->{Student student = new Student();student.setId(resultSet.getString('id'));student.setStudentId(resultSet.getString('student_id'));student.setStudentName(resultSet.getString('student_name'));student.setAge(resultSet.getInt('age'));resultList.add(student); }); resultList.forEach((Student student) -> System.out.println(student)); }catch (Exception exception){ exception.printStackTrace(); } }}

以上就是SpringBoot快速配置數(shù)據(jù)源的方法的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot 配置數(shù)據(jù)源的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 91禁外国网站 | 99亚洲视频 | 国产精品二区一区二区aⅴ污介绍 | 偷拍亚洲视频 | 在线观看福利视频 | 亚洲国产精品免费在线观看 | 午夜视频免费看 | 啪啪日韩 | 日本国产在线视频 | 日韩字幕 | 久久一级片 | 日韩一区二区视频在线 | 影音av资源 | 神马影院一区二区三区 | 制服.丝袜.亚洲.中文.综合懂色 | 欧美成人一区二区三区片免费 | 欧美国产日韩一区二区三区 | av一起草 | 亚洲一区二区在线视频 | 中文字幕第24页 | 国产精品久久精品 | 日韩有码一区二区三区 | 99国产精品久久久久久久成人 | 很黄很色的网站 | 免费a在线观看播放 | 亚洲精品久久久久久国 | 正在播放木下凛凛88av | www.亚洲.com| 久久视频这里只有精品 | 酒色成人网 | 天堂岛av| 国内精品国产成人国产三级 | 午夜精品剧场 | 成人免费视频视频 | 亚洲一区二区三区在线免费观看 | 亚洲播放 | 久久一二三四区 | 久久天天综合 | 啪啪中文字幕 | 丰满白嫩尤物一区二区 | 亚洲一区视频在线 |