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
時序數(shù)據(jù)庫配類
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;
}
時序數(shù)據(jù)庫初始化類
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;文章來源:http://www.zghlxwxcb.cn/news/detail-809245.html@Configuration(proxyBeanMethods = false)
public class ApplicationStarted {
private static final Logger LOGGER = LoggerFactory.getLogger(ApplicationStarted.class);
@Autowired
private TdengineConfig dengineConfig;
/**
*
* @Method
* @Description 開始初始化加載系統(tǒng)參數(shù), 創(chuàng)建數(shù)據(jù)庫和超級表
* @author wxy
*/
@Bean
public void initTDengine() {
LOGGER.info("開始創(chuàng)建實時數(shù)據(jù)庫與超級表");
try {
// 創(chuàng)建連接-原生鏈接
Connection conn = getConnection();
// 創(chuàng)建數(shù)據(jù)庫
createDatabase(conn);
// 創(chuàng)建指令日志超級數(shù)據(jù)庫表
createSTable(conn);
LOGGER.info("完成超級表的創(chuàng)建");
} catch (Exception e) {
LOGGER.error("錯誤", e.getMessage());
e.printStackTrace();
}
}
/**
* 連接數(shù)據(jù)庫
* @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 根據(jù)數(shù)據(jù)庫連接自動創(chuàng)建數(shù)據(jù)庫
*/
private void createDatabase(Connection conn) throws SQLException {
// 默認(rèn)360天
conn.createStatement().execute(String.format(" create database if not exists %s keep 360d;", dengineConfig.getDbName()));
LOGGER.info("完成數(shù)據(jù)庫創(chuàng)建");
}
/**
* 創(chuàng)建超級表
* 指令日志
*
* @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("完成數(shù)據(jù)庫超級表創(chuàng)建");
}文章來源地址http://www.zghlxwxcb.cn/news/detail-809245.html
到了這里,關(guān)于TDengine時序數(shù)據(jù)庫java連接代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!