博客 / 詳情

返回

時序數據庫 IoTDB 集成 SpringBoot Starter,實現時序數據庫“零配置”接入

面對工業物聯網場景中高頻產生的設備狀態、環境指標等海量時序數據,如何在其產生後迅速完成採集、存儲並服務於上層應用,是構建實時數據驅動型業務的核心挑戰。

國產時序數據庫 IoTDB 與快速開發框架 SpringBoot Starter 的深度集成,正是為了應對這一挑戰,通過標準化的自動配置模式,將時序數據庫的接入流程簡化為引入單一依賴,使開發者能一鍵構建起高性能的數據管道。

  • 簡化配置,快速集成:藉助 SpringBoot Starter,開發者僅需在配置文件中添加簡單參數,即可自動完成數據源配置與模板 Bean 的初始化,大幅降低了項目集成的複雜度。

  • 提升開發效率:集成後開發者可直接使用 Spring 風格的操作模板進行時序數據的讀寫,避免了繁瑣的底層 JDBC 連接管理,讓開發者能專注於業務邏輯,顯著提升代碼質量和開發效率。

  • 無縫融入技術體系:作為 Spring 生態的自然延伸,該集成使得 IoTDB 能夠與項目中已有的 Spring 組件協同工作,便於實現統一的資源管理、依賴注入和監控指標。

歡迎查看用户手冊瞭解更多內容!

01 功能簡介

SpringBoot Starter 是 SpringBoot 生態中的核心模塊化組件,通過預定義依賴集合與自動化配置機制,簡化第三方技術棧(如數據庫、消息隊列、安全框架)與 SpringBoot 應用的集成流程。每個 Starter 封裝了特定功能所需的核心庫、默認配置及條件化初始化邏輯,開發者僅需引入依賴即可實現“零配置”集成,遵循“約定優於配置”原則。

IoTDB 官方提供的 iotdb-spring-boot-starter 是專為 SpringBoot 生態設計的標準化集成組件,幫助開發者快速實現時序數據庫的高效接入。開發者僅需引入依賴,即可使用 IoTDB 功能或模塊,顯著降低時序數據場景下的技術集成複雜度,適用於物聯網、工業互聯網等高頻時序數據存儲與分析場景。

02 使用步驟

(1) 版本要求

  • IoTDB:>= 2.0.3

  • iotdb-spring-boot-starter:>= 2.0.3

(2) 操作流程

  1. 安裝並啓動 IoTDB,可參考官網快速上手頁面:https://www.timecho.com/docs/zh/UserGuide/latest-Table/QuickStart/QuickStart_timecho.html

  2. 在項目中添加 Maven 依賴:

<dependency>
    <groupId>org.apache.iotdb</groupId>
    <artifactId>iotdb-spring-boot-starter</artifactId>
    <version>2.0.3</version>
</dependency>
  1. 在 application.properties 文件中進行自定義配置:
# IoTDB 服務地址(格式:IP:Port)
iotdb.session.url=127.0.0.1:6667
# IoTDB 用户名
iotdb.session.username=root
# IoTDB 用户密碼
iotdb.session.password=root
# 指定連接的默認模式
iotdb.session.sql-dialect=table
# 指定連接的默認數據庫
iotdb.session.database=wind 
# 連接池最大連接數
iotdb.session.max-size=10
  1. 通過 @Autowired 使用目標 Bean,例如:
@Autowired
private ITableSessionPool ioTDBSessionPool;

publicvoidqueryTableSessionPool()throws IoTDBConnectionException, StatementExecutionException {
    ITableSession tableSession = ioTDBSessionPool.getSession();
    final SessionDataSet sessionDataSet = tableSession.executeQueryStatement("select * from table1 limit 10");
    while (sessionDataSet.hasNext()) {
        final RowRecord rowRecord = sessionDataSet.next();
        final List<Field> fields = rowRecord.getFields();
        for (Field field : fields) {
            System.out.print(field.getStringValue());
        }
        System.out.println();
    }
}

03 使用示例

詳細的使用示例可參考 GitHub 源碼:https://github.com/apache/iotdb-extras/tree/master/examples/iotdb-spring-boot-start

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.