1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package com.gyee.adapter.init;
- import java.sql.*;
- import java.util.ArrayList;
- import java.util.List;
- /*
- @author 谢生杰
- @date 2022/8/6-16:25
- */
- public class RestInsertExample {
- private static Connection getConnection() throws SQLException {
- String jdbcUrl = "jdbc:TAOS-RS://10.81.3.164:6041?user=root&password=taosdata";
- return DriverManager.getConnection(jdbcUrl);
- }
- private static Connection getPgConnection() throws SQLException {
- Connection connection = null;
- try {
- String url = "jdbc:postgresql://10.81.3.151:5432/wisdom";
- String user = "gdprod";
- String password = "gd123";
- Class.forName("org.postgresql.Driver");
- connection = DriverManager.getConnection(url, user, password);
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- return connection;
- }
- private static String getSQL(String stable,String database,String table,String name) {
- // INSERT INTO d1001 USING jnsx TAGS ("d1001","风速") VALUES (now, 0.0);
- // INSERT INTO d1001 VALUES (1538548685000, 10.3, 219, 0.31) (1538548695000, 12.6, 218, 0.33)
- // d1002 VALUES (1538548696800, 12.3, 221, 0.31);
- StringBuilder sb = new StringBuilder();
- String replace = table.replace(".", "_");
- sb.append("INSERT INTO ").append(database).append(".").append(replace).append(" USING ").append(database).append(".").append(stable);
- sb.append(" TAGS (\"").append(table).append("\",\"");
- sb.append(name).append("\") VALUES (now, 0.0)");
- return String.valueOf(sb);
- }
- /**
- * 创建超级表
- * @param database TD数据库名
- * @param stable TD超级表
- * @throws SQLException
- */
- public static void createStable(String database,String stable) throws SQLException {
- // create stable IF NOT EXISTS wisdom.stag_double ( point_time timestamp, value_double double ) tags ( tag_id binary(192),tag_name nchar(500));
- StringBuilder sb = new StringBuilder();
- sb.append("create stable IF NOT EXISTS ");
- sb.append(database).append(".").append(stable);
- sb.append(" ( point_time timestamp, value_double double ) tags ( tag_id binary(192),tag_name nchar(500))");
- try (Connection conn = getConnection()) {
- try (Statement stmt = conn.createStatement()) {
- stmt.execute(String.valueOf(sb));
- }
- }
- }
- /**
- * @param pgtable pg表名
- * @param realtimeid 筛选pg点
- * @param stable TD超级表名
- * @param database TD数据库名
- * @throws SQLException
- */
- public static void initPoint(String pgtable,String realtimeid,String stable,String database) throws SQLException {
- Connection pgConnection = getPgConnection();
- StringBuilder sb = new StringBuilder();
- sb.append("select * from ").append(pgtable).append(" where realtimeid='").append(realtimeid).append("'");
- Statement statement = pgConnection.createStatement();
- ResultSet resultSet = statement.executeQuery(String.valueOf(sb));
- while(resultSet.next()){
- String code = resultSet.getString("code");
- String name = resultSet.getString("name");
- String sql = getSQL(stable, database, code,name);
- Connection connection = getConnection();
- Statement statement1 = connection.createStatement();
- statement1.executeUpdate(sql);
- connection.close();
- statement1.close();
- }
- pgConnection.close();
- statement.close();
- resultSet.close();
- }
- public static void main(String[] args) throws SQLException {
- createStable("wisdom","JSFW");
- initPoint("windpowerstationpointnew","JSFW","JSFW","wisdom");
- }
- }
|