最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年10月16日 10:53:20   作者:拾階求上  
這篇文章主要介紹了SpringBoot快速配置數(shù)據(jù)源的方法,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下

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

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

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

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

實(shí)際項目中,我們在配置數(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=UTC
customize.datasource.username=root
customize.datasource.password=wan4380797
customize.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

四、自定義DataSource

import org.apache.commons.dbcp2.BasicDataSource;
@Configuration
public 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)用驗(yàn)證

下面我們使用junit來驗(yàn)證以下數(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)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot整合Druid實(shí)現(xiàn)數(shù)據(jù)庫連接池和監(jiān)控

    SpringBoot整合Druid實(shí)現(xiàn)數(shù)據(jù)庫連接池和監(jiān)控

    Druid是Java語言中使用的比較多的數(shù)據(jù)庫連接池。Druid還提供了強(qiáng)大的監(jiān)控和擴(kuò)展功能。面將介紹SpringBoot整合Druid實(shí)現(xiàn)數(shù)據(jù)庫連接池和監(jiān)控功能,感興趣的可以了解一下
    2021-08-08
  • Spring解決循環(huán)依賴問題及三級緩存的作用

    Spring解決循環(huán)依賴問題及三級緩存的作用

    這篇文章主要介紹了Spring解決循環(huán)依賴問題及三級緩存的作用,所謂的三級緩存只是三個可以當(dāng)作是全局變量的Map,Spring的源碼中大量使用了這種先將數(shù)據(jù)放入容器中等使用結(jié)束再銷毀的代碼風(fēng)格
    2022-07-07
  • Hibernate中l(wèi)oad方法與get方法的區(qū)別

    Hibernate中l(wèi)oad方法與get方法的區(qū)別

    Hibernate中有兩個極為相似的方法get()與load(),他們都可以通過指定的實(shí)體類與ID從數(shù)據(jù)庫中讀取數(shù)據(jù),并返回對應(yīng)的實(shí)例,但Hibernate不會搞兩個完全一樣的方法的
    2016-01-01
  • springboot接入方式對接股票數(shù)據(jù)源API接口的操作方法

    springboot接入方式對接股票數(shù)據(jù)源API接口的操作方法

    本文介紹了如何使用Java語言創(chuàng)建一個項目來對接StockTV的API接口,包括使用HttpURLConnection或OkHttp發(fā)送HTTP請求,使用Java-WebSocket庫處理WebSocket連接等步驟,項目結(jié)構(gòu)包括添加依賴、創(chuàng)建基礎(chǔ)工具類、實(shí)現(xiàn)股票API、外匯API等,感興趣的朋友一起看看吧
    2025-03-03
  • idea全局搜索快捷鍵超詳細(xì)總結(jié)(推薦!)

    idea全局搜索快捷鍵超詳細(xì)總結(jié)(推薦!)

    在實(shí)際開發(fā)中項目會非常多,如何在項目中快速定位,你說需要找到的類或方法,可以利用idea的全局搜索功能,下面這篇文章主要給大家分享介紹了關(guān)于idea全局搜索快捷鍵超詳細(xì)總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Java中將String轉(zhuǎn)換為int的多種方法

    Java中將String轉(zhuǎn)換為int的多種方法

    字符串轉(zhuǎn)換為整數(shù)是一個常見需求,本文主要介紹了Java中將String轉(zhuǎn)換為int的多種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • SpringBoot如何讀取mock數(shù)據(jù)(高效調(diào)試接口)

    SpringBoot如何讀取mock數(shù)據(jù)(高效調(diào)試接口)

    本文介紹如何在SpringBoot項目中讀取resources目錄下的mock數(shù)據(jù)文件,以便高效調(diào)試接口,在 Spring Boot 項目中,通常會將靜態(tài)資源或配置文件放在 src/main/resources 目錄下,下面通過實(shí)例給大家詳細(xì)介紹,感興趣的朋友一起看看吧
    2024-12-12
  • 解決Intellij IDEA運(yùn)行報Command line is too long的問題

    解決Intellij IDEA運(yùn)行報Command line is too long的問題

    這篇文章主要介紹了解決Intellij IDEA運(yùn)行報Command line is too long的問題,本文通過兩種方案給大家詳細(xì)介紹,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • springboot 整合 nacos 配置實(shí)現(xiàn)多個環(huán)境不同配置

    springboot 整合 nacos 配置實(shí)現(xiàn)多個環(huán)境不同配置

    本文介紹了Nacos配置中心的優(yōu)勢,包括與Apollo的性能對比,Nacos服務(wù)端的安裝與配置,以及如何在SpringBoot項目中集成Nacos進(jìn)行多環(huán)境配置,提供了詳細(xì)的步驟,包括下載、安裝、配置中心的創(chuàng)建和項目集成,旨在幫助開發(fā)者更好地使用Nacos進(jìn)行項目配置管理
    2024-09-09
  • github上的java項目怎么運(yùn)行(面向小白)

    github上的java項目怎么運(yùn)行(面向小白)

    這篇文章主要介紹了github上的java項目怎么運(yùn)行(面向小白),今天從github把我以前寫的一個小demo下載下來了,第一次下載項目,摸索了一個多小時,才運(yùn)行起來,需要的朋友可以參考下
    2019-06-06

最新評論

呼伦贝尔市| 探索| 额敏县| 那坡县| 黑山县| 周至县| 龙岩市| 鹤庆县| 教育| 江山市| 儋州市| 西丰县| 阜新市| 乌拉特前旗| 岳西县| 潞西市| 湖南省| 田林县| 余江县| 闸北区| 甘谷县| 桓仁| 买车| 靖边县| 永城市| 常宁市| 昭平县| 伽师县| 临夏市| 永春县| 德保县| 军事| 海城市| 青铜峡市| 鹤山市| 剑川县| 仪征市| 方山县| 海丰县| 广南县| 涿州市|