TDengine时序数据库java连接代码

这篇具有很好参考价值的文章主要介绍了TDengine时序数据库java连接代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

yml配置文件

spring:

        datasource:

                tdengine:
                    lazy: true
                    driverClassName: com.taosdata.jdbc.rs.RestfulDriver
                    url: jdbc:TAOS-RS://127.0.0.1:6041/zjrecharge?timezone=UTC-8&charset=utf-8
                    username: root
                    password: taosdata

        

        tdengine:
                enabled: true
                dbName: zjrecharge
                stableCmdLog: cmd_log

时序数据库配类

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConditionalOnProperty(name = "spring.tdengine.enabled", havingValue = "true")

@Slf4j
public class TdengineConfig {
/**
* TDengine 用户名
*/
@Value("${spring.datasource.tdengine.username}")
private String username;
/**
* TDengine 密码
*/
@Value("${spring.datasource.tdengine.password}")
private String password;
/**
* url
*/
@Value("${spring.datasource.tdengine.url}")
private String jdbcUrl;
/**
* driverClassName
*/
@Value("${spring.datasource.tdengine.driverClassName}")
private String driverClassName;
/**
* TDengine 库名
*/
@Value("${spring.tdengine.dbName}")
private String dbName;
/**
* stable 超级表名
*/
@Value("${spring.tdengine.stableCmdLog}")
private String stableCmdLog;

public String getUsername() {
return username;
}

public String getPassword() {
return password;
}

public String getDbName() {
return dbName;
}

public String getJdbcUrl() {
return jdbcUrl;
}

public String getDriverClassName() {
return driverClassName;
}

public String getStableCmdLog() {
return stableCmdLog;
}

时序数据库初始化类

import com.zzdy.recharge.tdengine.config.TdengineConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

@Configuration(proxyBeanMethods = false)
public class ApplicationStarted {

private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationStarted.class);
@Autowired
private TdengineConfig dengineConfig;


/**
*
* @Method
* @Description 开始初始化加载系统参数, 创建数据库和超级表
* @author wxy
*/
@Bean
public void initTDengine() {
LOGGER.info("开始创建实时数据库与超级表");
try {
// 创建连接-原生链接
Connection conn = getConnection();
// 创建数据库
createDatabase(conn);
// 创建指令日志超级数据库表
createSTable(conn);
LOGGER.info("完成超级表的创建");
} catch (Exception e) {
LOGGER.error("错误", e.getMessage());
e.printStackTrace();
}

}

/**
* 连接数据库
* @return
* @throws SQLException
*/

public Connection getConnection() throws SQLException {
String jdbcUrl = dengineConfig.getJdbcUrl();
String username = dengineConfig.getUsername();
String password = dengineConfig.getPassword();
String newJdbcUrl = jdbcUrl.substring(0, jdbcUrl.indexOf("/zjrecharge"));
newJdbcUrl += ("?&user=" + username);
newJdbcUrl += ("&password=" + password);
Properties connProps = new Properties();

return DriverManager.getConnection(newJdbcUrl, connProps);
}

/**
* @return
* @Method
* @Description 根据数据库连接自动创建数据库
*/

private void createDatabase(Connection conn) throws SQLException {
// 默认360天
conn.createStatement().execute(String.format(" create database if not exists %s keep 360d;", dengineConfig.getDbName()));
LOGGER.info("完成数据库创建");
}

/**
* 创建超级表
* 指令日志
*
* @throws SQLException
*/

public void createSTable(Connection conn) throws SQLException {
conn.createStatement().execute(
String.format("CREATE STABLE if not exists %s (ts timestamp, remark BINARY(500), gen_power_total float,data BINARY(1000),device_id BINARY(500), " +
"sn BINARY(500),gen_power float,gen_power_to_day float,station_id BINARY(500)) " +
"TAGS (location binary(64));",
dengineConfig.getDbName() + "." + dengineConfig.getStableCmdLog()));
LOGGER.info("完成数据库超级表创建");
}文章来源地址https://www.toymoban.com/news/detail-809245.html

到了这里,关于TDengine时序数据库java连接代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TDengine时序数据库通俗易懂教程

    1.1产品简介 TDengine 是一款开源、高性能、云原生的时序数据库,且针对物联网、车联网、工业互联网、金融、IT运维等场景进行了优化。TDengine的代码,包括集群功能,都在 GNU AGPL v3.0 下开源。除核心的时序数据库功能外,TDengine还提供缓存、数据订阅、流式计算等其它功能以

    2024年02月07日
    浏览(80)
  • 时序数据库 TDengine 与 WhaleStudio 完成相互兼容性测试认证

    近年来,开源及其价值获得社会各界的广泛认可,无论是国家政策导向还是企业数字化转型,都在加速拥抱开源。对于如操作系统、数据库等基础软件来说,开源更是成为驱动技术创新的有力途径。 在此背景下,近日,涛思数据自主研发的时序数据库(Time Series Database)TDe

    2024年02月14日
    浏览(51)
  • 打破数据孤岛!时序数据库 TDengine 与创意物联感知平台完成兼容性互认

    新型物联网实现良好建设的第一要务就是打破信息孤岛,将数据汇聚在平台统一处理,实现数据共享,放大物联终端的行业价值,实现系统开放性,以此营造丰富的行业应用环境。在此背景下,物联感知平台应运而生,成为推动智慧城市建设,强化物联网感知设施跨行业、跨

    2024年02月11日
    浏览(45)
  • 时序数据库 TDengine 与腾讯云多个产品线完成兼容性互认证明

    随着数字经济蓬勃发展,数据成为驱动企业数字化转型的关键生产要素,如何加强对数据资源的治理利用、实现数据洞察、激活数据价值正成为亟待解决的问题。在此背景下,数据库与操作系统、云平台等国产化软件相互结合赋能成为解决问题的思路之一。 近日,经过数月努

    2024年02月11日
    浏览(52)
  • 【TDengine】一篇文章带你通过docker安装TDengine数据库

    目录 1、通过docker方式安装 2、相关步骤解释 3、停止运行taos与卸载 虽然并不推荐在生产环境中通过 Docker 来部署 TDengine 服务,但 Docker 工具能够很好地屏蔽底层操作系统的环境差异,很适合在开发测试或初次体验时用于安装运行 TDengine 的工具集。特别是,借助 Docker,能够比

    2024年02月15日
    浏览(51)
  • 【fly-iot飞凡物联】(15):IOT项目使用TDengine数据库,进行技术调研,本地使用docker启动成功,可以使用python进行连接数据插入。

    本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/108971807 fly-iot飞凡物联专栏: https://blog.csdn.net/freewebsys/category_12219758.html 产品简介 TDengine 是一款专为物联网、工业互联网等场景设计并优化的大数据平台,它能安全高效地将大量设备、数据采集器每天产生的高达 TB 甚至

    2024年02月03日
    浏览(67)
  • TDengine(taos)数据库导出历史数据

    业务需求:导出某个站点的累计充电量,累计放电量,光伏总放电量,进线总功率的所有数据‘ 提示Database changed;即为使用成功; realId即为我想要导出的表,需要导出里面所有的字段; select * from yc_1680037147048042498_1011 /data.csv; 运行即可得到.csv文件; 注意导出路径里不能有

    2024年02月08日
    浏览(74)
  • 陶建辉在“2023 可信数据库发展大会”发表演讲,TDengine 入选中国数据库产业图谱

    当前,全球数字经济加速发展,数据正在成为重组全球要素资源、重塑全球经济结构、改变全球竞争格局的关键力量。数据库作为存储与处理数据的关键技术,在数字经济大浪潮下,全球数据库产业中新技术、新业态、新模式不断涌现。 7 月 4 日,由中国通信标准化协会和中

    2024年02月12日
    浏览(67)
  • 帆软报表 FineReport连接时序库 Elasticsearch(es),tdengine(涛思)

    这篇文章是本人在开发帆软报表所经历的踩坑以及解决的方案,回想起来由于网上没有太多的相关信息,在fr社区提问也没有太好的解决方案,解决起来也蛮坎坷的,但最后还是搞了下来,顺便整理一下发布出来,希望能给小伙伴们点帮助, 如要参考请全篇看完,有注意事项

    2024年02月05日
    浏览(42)
  • 基于DataX的海量时序数据迁移实战:从MySQL到TDengine3.x

    MySQL 数据库中,设备历史数据单表过亿,如何快速、低成本地迁移到 TDengine3.x 中? 从标题可以看出,我们使用的数据迁移/同步工具是 DataX ,数据源( Source )为传统的关系型数据库 MySQL ,目标库( Sink )为新型的具有场景特色的时序数据库 TDengine 。 DataX:是阿里云DataWor

    2024年02月06日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包