diff --git a/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/ConnectionPoolDemo.java b/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/ConnectionPoolDemo.java index 79c0aacea740dcb6fca9780c7f64872c537c3225..4e33b75bc57aa18ebc0cae166e84401d4357d614 100644 --- a/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/ConnectionPoolDemo.java +++ b/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/ConnectionPoolDemo.java @@ -82,12 +82,27 @@ public class ConnectionPoolDemo { init(dataSource); - ExecutorService executor = Executors.newFixedThreadPool(threadCount); - while (true) { - executor.execute(new InsertTask(dataSource, dbName, tableSize, batchSize)); - if (sleep > 0) - TimeUnit.MILLISECONDS.sleep(sleep); + try { + Connection connection = dataSource.getConnection(); + Statement statement = connection.createStatement(); + String sql = "insert into " + dbName + ".t_1 values('2020-01-01 00:00:00.000',12.12,111)"; + int affectRows = statement.executeUpdate(sql); + System.out.println("affectRows >>> " + affectRows); + affectRows = statement.executeUpdate(sql); + System.out.println("affectRows >>> " + affectRows); + statement.close(); + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); } + + +// ExecutorService executor = Executors.newFixedThreadPool(threadCount); +// while (true) { +// executor.execute(new InsertTask(dataSource, dbName, tableSize, batchSize)); +// if (sleep > 0) +// TimeUnit.MILLISECONDS.sleep(sleep); +// } } private static void init(DataSource dataSource) { diff --git a/tests/examples/JDBC/taosdemo/pom.xml b/tests/examples/JDBC/taosdemo/pom.xml index 15d3befb51a7135f1fc3b5c7f879ed32e348656e..d4797fa2fba2236c89550a7483b8809393dd642a 100644 --- a/tests/examples/JDBC/taosdemo/pom.xml +++ b/tests/examples/JDBC/taosdemo/pom.xml @@ -57,6 +57,13 @@ ${spring.version} + + + com.alibaba + fastjson + 1.2.75 + + diff --git a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/TaosDemoApplication.java b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/TaosDemoApplication.java index 30572ff57ad44e4dd3b314b76d5c2bf0810720f9..9beab83aca405c5039b02363f339638e4ced3934 100644 --- a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/TaosDemoApplication.java +++ b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/TaosDemoApplication.java @@ -8,10 +8,11 @@ import com.taosdata.taosdemo.service.DatabaseService; import com.taosdata.taosdemo.service.InsertTask; import com.taosdata.taosdemo.service.SuperTableService; import com.taosdata.taosdemo.service.data.SuperTableMetaGenerator; -import com.taosdata.taosdemo.utils.JdbcTaosdemoConfig; +import com.taosdata.taosdemo.components.JdbcTaosdemoConfig; import org.apache.log4j.Logger; import javax.sql.DataSource; +import java.io.IOException; import java.time.Duration; import java.time.Instant; import java.util.*; @@ -23,8 +24,7 @@ import java.util.stream.IntStream; public class TaosDemoApplication { private static Logger logger = Logger.getLogger(TaosDemoApplication.class); - public static void main(String[] args) { - + public static void main(String[] args) throws IOException { // 读配置参数 JdbcTaosdemoConfig config = new JdbcTaosdemoConfig(args); diff --git a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/components/DataSourceFactory.java b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/components/DataSourceFactory.java index 1b0af29ab619974a651a8ea04610e0730c1f111b..9f420b4eedc070806472e9ed47dcb18555e410c1 100644 --- a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/components/DataSourceFactory.java +++ b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/components/DataSourceFactory.java @@ -5,24 +5,45 @@ import com.zaxxer.hikari.HikariDataSource; import org.springframework.stereotype.Component; import javax.sql.DataSource; +import java.io.IOException; +import java.io.InputStream; +import java.util.Properties; @Component public class DataSourceFactory { private static DataSource instance; - public static DataSource getInstance(String host, int port, String user, String password) { + public static DataSource getInstance(String host, int port, String user, String password) throws IOException { if (instance == null) { synchronized (DataSourceFactory.class) { if (instance == null) { + InputStream is = DataSourceFactory.class.getClassLoader().getResourceAsStream("application.properties"); + Properties properties = new Properties(); + properties.load(is); + HikariConfig config = new HikariConfig(); - config.setDriverClassName("com.taosdata.jdbc.TSDBDriver"); - config.setJdbcUrl("jdbc:TAOS://" + host + ":" + port + "/?charset=UTF-8&locale=en_US.UTF-8&timezone=UTC-8"); + if (properties.containsKey("jdbc.driver")) + config.setDriverClassName(properties.getProperty("jdbc.driver")); + else + config.setDriverClassName("com.taosdata.jdbc.TSDBDriver"); + if ("com.taosdata.jdbc.rs.RestfulDriver".equalsIgnoreCase(properties.getProperty("jdbc.driver"))) + config.setJdbcUrl("jdbc:TAOS-RS://" + host + ":" + port + "/?charset=UTF-8&locale=en_US.UTF-8&timezone=UTC-8"); + else + config.setJdbcUrl("jdbc:TAOS://" + host + ":" + port + "/?charset=UTF-8&locale=en_US.UTF-8&timezone=UTC-8"); config.setUsername(user); config.setPassword(password); + // maximum-pool-size + if (properties.containsKey("hikari.maximum-pool-size")) + config.setMaximumPoolSize(Integer.parseInt(properties.getProperty("hikari.maximum-pool-size"))); + else + config.setMaximumPoolSize(500); + // minimum-idle + if (properties.containsKey("hikari.minimum-idle")) + config.setMinimumIdle(Integer.parseInt(properties.getProperty("hikari.minimum-idle"))); + else + config.setMinimumIdle(100); config.setMaxLifetime(0); - config.setMaximumPoolSize(500); - config.setMinimumIdle(100); instance = new HikariDataSource(config); } } diff --git a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/utils/JdbcTaosdemoConfig.java b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/components/JdbcTaosdemoConfig.java similarity index 99% rename from tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/utils/JdbcTaosdemoConfig.java rename to tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/components/JdbcTaosdemoConfig.java index 84d61b40e22a508fc816203383ee734733e78677..5c852e572dbc4be4800dbe49dba294a7867fe997 100644 --- a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/utils/JdbcTaosdemoConfig.java +++ b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/components/JdbcTaosdemoConfig.java @@ -1,4 +1,6 @@ -package com.taosdata.taosdemo.utils; +package com.taosdata.taosdemo.components; + +import com.taosdata.taosdemo.utils.TimeStampUtil; public final class JdbcTaosdemoConfig { // instance diff --git a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/components/JsonConfig.java b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/components/JsonConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..1c44610095f4b383f82a74dfdc11030a28afb246 --- /dev/null +++ b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/components/JsonConfig.java @@ -0,0 +1,39 @@ +package com.taosdata.taosdemo.components; + +import com.alibaba.fastjson.JSONObject; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class JsonConfig { + + public static void main(String[] args) { + + JsonConfig config = new JsonConfig(); + String str = config.read("insert.json"); + JSONObject jsonObject = JSONObject.parseObject(str); + System.out.println(jsonObject); + + } + + private String read(String fileName) { + try { + BufferedReader reader = new BufferedReader( + new InputStreamReader(JsonConfig.class.getClassLoader().getResourceAsStream(fileName)) + ); + StringBuilder sb = new StringBuilder(); + String line = null; + while ((line = reader.readLine()) != null) { + sb.append(line); + } + return sb.toString(); + } catch (IOException e) { + e.printStackTrace(); + } + + return fileName; + } + + +} \ No newline at end of file diff --git a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/DatabaseMapperImpl.java b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/DatabaseMapperImpl.java similarity index 95% rename from tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/DatabaseMapperImpl.java rename to tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/DatabaseMapperImpl.java index 44f2b27900b7bb4421296b81d1208b614da9c5c3..99e0a62c31c609de8ce186d251132dcf9dce871e 100644 --- a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/DatabaseMapperImpl.java +++ b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/DatabaseMapperImpl.java @@ -1,4 +1,4 @@ -package com.taosdata.taosdemo.dao.impl; +package com.taosdata.taosdemo.dao; import com.taosdata.taosdemo.dao.DatabaseMapper; import com.taosdata.taosdemo.utils.SqlSpeller; diff --git a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/SubTableMapperImpl.java b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/SubTableMapperImpl.java similarity index 97% rename from tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/SubTableMapperImpl.java rename to tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/SubTableMapperImpl.java index 586890965b0261fe8a7afe52c27a86aaaa6f4df4..f4c727f5a64680d242485e65c1d30db42d067a97 100644 --- a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/SubTableMapperImpl.java +++ b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/SubTableMapperImpl.java @@ -1,4 +1,4 @@ -package com.taosdata.taosdemo.dao.impl; +package com.taosdata.taosdemo.dao; import com.taosdata.taosdemo.dao.SubTableMapper; import com.taosdata.taosdemo.domain.SubTableMeta; diff --git a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/SuperTableMapperImpl.java b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/SuperTableMapperImpl.java similarity index 94% rename from tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/SuperTableMapperImpl.java rename to tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/SuperTableMapperImpl.java index 91f19a1bc38ad2f953188427e3865098ce9d0c39..9a8390f58237761eafbd6eb4085e97f9ae47e2b0 100644 --- a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/SuperTableMapperImpl.java +++ b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/SuperTableMapperImpl.java @@ -1,4 +1,4 @@ -package com.taosdata.taosdemo.dao.impl; +package com.taosdata.taosdemo.dao; import com.taosdata.taosdemo.dao.SuperTableMapper; import com.taosdata.taosdemo.domain.SuperTableMeta; diff --git a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/TableMapperImpl.java b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/TableMapperImpl.java similarity index 97% rename from tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/TableMapperImpl.java rename to tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/TableMapperImpl.java index 4555923b0026c22e20ec32c627f53c0079cc058f..77415619f02a1a0650448e9a8856fcb8d33e4921 100644 --- a/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/impl/TableMapperImpl.java +++ b/tests/examples/JDBC/taosdemo/src/main/java/com/taosdata/taosdemo/dao/TableMapperImpl.java @@ -1,4 +1,4 @@ -package com.taosdata.taosdemo.dao.impl; +package com.taosdata.taosdemo.dao; import com.taosdata.taosdemo.dao.TableMapper; import com.taosdata.taosdemo.domain.TableMeta; diff --git a/tests/examples/JDBC/taosdemo/src/main/resources/application.properties b/tests/examples/JDBC/taosdemo/src/main/resources/application.properties index a7f5a1529a7e3e36f5d9dd8aadc67fbd63bcc21b..51d9b64ce986472539897b4df6da4f65f0981b4f 100644 --- a/tests/examples/JDBC/taosdemo/src/main/resources/application.properties +++ b/tests/examples/JDBC/taosdemo/src/main/resources/application.properties @@ -10,8 +10,11 @@ spring.datasource.password=taosdata #spring.datasource.driver-class-name=com.taosdata.jdbc.rs.RestfulDriver #spring.datasource.username=root #spring.datasource.password=taosdata -spring.datasource.hikari.maximum-pool-size=1 -spring.datasource.hikari.minimum-idle=1 -spring.datasource.hikari.max-lifetime=0 -logging.level.com.taosdata.taosdemo.dao=error -server.port=8888 \ No newline at end of file +#spring.datasource.hikari.maximum-pool-size=1 +#spring.datasource.hikari.minimum-idle=1 +#spring.datasource.hikari.max-lifetime=0 +#logging.level.com.taosdata.taosdemo.dao=error +jdbc.driver=com.taosdata.jdbc.TSDBDriver +hikari.maximum-pool-size=1 +hikari.minimum-idle=1 +hikari.max-lifetime=0 \ No newline at end of file