提交 a5a4f702 编写于 作者: Z zyyang

update jdbcTaosdemo

上级 4149545b
out/
logs/
# custom
/out/
/logs/
*.jar
# Created by .ignore support plugin (hsz.mobi)
.gitignore
# Build Artifacts
.gradle/*
build/*
target/*
bin/*
dependency-reduced-pom.xml
# Eclipse Project Files
.classpath
.project
.settings/*
......@@ -63,7 +63,7 @@
<dependency>
<groupId>com.taosdata.jdbc</groupId>
<artifactId>taos-jdbcdriver</artifactId>
<version>2.0.6</version>
<version>2.0.4</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
......
......@@ -11,7 +11,6 @@ public class JDBCConnectorChecker {
private static String tbName = "weather";
private Connection connection;
/**
* get connection
**/
......
package com.taosdata.example;
package com.taosdata.example.jdbcTaosdemo;
import com.taosdata.example.domain.JdbcTaosdemoConfig;
import com.taosdata.example.task.CreateTableTask;
import com.taosdata.example.task.InsertTableDatetimeTask;
import com.taosdata.example.task.InsertTableTask;
import com.taosdata.example.utils.TimeStampUtil;
import com.taosdata.example.jdbcTaosdemo.domain.JdbcTaosdemoConfig;
import com.taosdata.example.jdbcTaosdemo.task.CreateTableTask;
import com.taosdata.example.jdbcTaosdemo.task.InsertTableDatetimeTask;
import com.taosdata.example.jdbcTaosdemo.task.InsertTableTask;
import com.taosdata.example.jdbcTaosdemo.utils.TimeStampUtil;
import com.taosdata.jdbc.TSDBDriver;
import org.apache.log4j.Logger;
......@@ -25,34 +25,20 @@ public class JdbcTaosdemo {
this.config = config;
}
private static void printHelp() {
System.out.println("Usage: java -jar JDBCConnectorChecker.jar -h host [OPTION...]");
System.out.println("-p port The TCP/IP port number to use for the connection. Default is 6030");
System.out.println("-u user The TDengine user name to use when connecting to the server. Default is 'root'");
System.out.println("-P password The password to use when connecting to the server.Default is 'taosdata'");
System.out.println("-d database Destination database. Default is 'test'");
System.out.println("-m tablePrefix Table prefix name. Default is 'd'");
System.out.println("-T num_of_threads The number of threads. Default is 10");
System.out.println("-t num_of_tables The number of tables. Default is 10000");
System.out.println("-n num_of_records_per_table The number of records per table. Default is 100000");
System.out.println("-D delete table Delete data methods. Default is false");
System.out.println("--help Give this help list");
}
public static void main(String[] args) {
JdbcTaosdemoConfig config = JdbcTaosdemoConfig.build(args);
boolean isHelp = Arrays.asList(args).contains("--help");
if (isHelp) {
printHelp();
JdbcTaosdemoConfig.printHelp();
return;
}
if (config.getHost() == null) {
printHelp();
JdbcTaosdemoConfig.printHelp();
return;
}
boolean infinite = Arrays.asList().contains("--infinite");
JdbcTaosdemo taosdemo = new JdbcTaosdemo(config);
taosdemo.init();
taosdemo.dropDatabase();
......@@ -60,7 +46,10 @@ public class JdbcTaosdemo {
taosdemo.useDatabase();
taosdemo.createSuperTable();
taosdemo.createTableMultiThreads();
boolean infinite = Arrays.asList(args).contains("--infinite");
if (infinite) {
logger.info("!!! Infinite Insert Mode Started. !!!!");
taosdemo.insertInfinite();
} else {
taosdemo.insertMultiThreads();
......@@ -206,6 +195,17 @@ public class JdbcTaosdemo {
return sql;
}
public static String batchInsertSql(int tableIndex, long ts, int valueCnt, JdbcTaosdemoConfig config) {
float current = 10 + random.nextFloat();
int voltage = 200 + random.nextInt(20);
float phase = random.nextFloat();
StringBuilder sb = new StringBuilder();
sb.append("insert into " + config.getDbName() + "." + config.getTbPrefix() + "" + tableIndex + " " + "values");
for (int i = 0; i < valueCnt; i++) {
sb.append("(" + (ts + i) + ", " + current + ", " + voltage + ", " + phase + ") ");
}
return sb.toString();
}
public static String createTableSql(int tableIndex, JdbcTaosdemoConfig config) {
String location = locations[random.nextInt(locations.length)];
......@@ -252,7 +252,7 @@ public class JdbcTaosdemo {
}
}
private void printSql(String sql, boolean succeed, long cost) {
private static void printSql(String sql, boolean succeed, long cost) {
logger.info("[ " + (succeed ? "OK" : "ERROR!") + " ] time cost: " + cost + " ms, execute statement ====> " + sql);
}
......@@ -269,7 +269,7 @@ public class JdbcTaosdemo {
}
}
private void printResult(ResultSet resultSet) throws SQLException {
private static void printResult(ResultSet resultSet) throws SQLException {
ResultSetMetaData metaData = resultSet.getMetaData();
while (resultSet.next()) {
StringBuilder sb = new StringBuilder();
......
package com.taosdata.example.domain;
package com.taosdata.example.jdbcTaosdemo.domain;
public class JdbcTaosdemoConfig {
......@@ -12,16 +12,12 @@ public class JdbcTaosdemoConfig {
private String password = "taosdata";
//Destination database. Default is 'test'
private String dbName = "test";
//
//keep
private int keep = 365 * 20;
//
private int days = 30;
//Super table Name. Default is 'meters'
private String stbName = "meters";
//Table name prefix. Default is 'd'
private String tbPrefix = "d";
//The number of threads. Default is 10.
......@@ -33,6 +29,20 @@ public class JdbcTaosdemoConfig {
//Delete data. Default is false
private boolean deleteTable = true;
public static void printHelp() {
System.out.println("Usage: java -jar JDBCConnectorChecker.jar -h host [OPTION...]");
System.out.println("-p port The TCP/IP port number to use for the connection. Default is 6030");
System.out.println("-u user The TDengine user name to use when connecting to the server. Default is 'root'");
System.out.println("-P password The password to use when connecting to the server.Default is 'taosdata'");
System.out.println("-d database Destination database. Default is 'test'");
System.out.println("-m tablePrefix Table prefix name. Default is 'd'");
System.out.println("-T num_of_threads The number of threads. Default is 10");
System.out.println("-t num_of_tables The number of tables. Default is 10000");
System.out.println("-n num_of_records_per_table The number of records per table. Default is 100000");
System.out.println("-D delete table Delete data methods. Default is false");
System.out.println("--help Give this help list");
}
/**
* parse args from command line
*
......@@ -40,6 +50,7 @@ public class JdbcTaosdemoConfig {
* @return JdbcTaosdemoConfig
*/
public static JdbcTaosdemoConfig build(String[] args) {
JdbcTaosdemoConfig config = new JdbcTaosdemoConfig();
for (int i = 0; i < args.length; i++) {
if ("-h".equals(args[i]) && i < args.length - 1) {
......@@ -72,8 +83,8 @@ public class JdbcTaosdemoConfig {
if ("-D".equals(args[i]) && i < args.length - 1) {
config.setDeleteTable(Boolean.parseBoolean(args[++i]));
}
}
return config;
}
......
package com.taosdata.example.task;
package com.taosdata.example.jdbcTaosdemo.task;
import com.taosdata.example.JdbcTaosdemo;
import com.taosdata.example.domain.JdbcTaosdemoConfig;
import com.taosdata.example.jdbcTaosdemo.JdbcTaosdemo;
import com.taosdata.example.jdbcTaosdemo.domain.JdbcTaosdemoConfig;
import org.apache.log4j.Logger;
import java.sql.Connection;
......
package com.taosdata.example.task;
package com.taosdata.example.jdbcTaosdemo.task;
import com.taosdata.example.JdbcTaosdemo;
import com.taosdata.example.domain.JdbcTaosdemoConfig;
import com.taosdata.example.jdbcTaosdemo.JdbcTaosdemo;
import com.taosdata.example.jdbcTaosdemo.domain.JdbcTaosdemoConfig;
import org.apache.log4j.Logger;
import java.sql.Connection;
......@@ -29,9 +29,12 @@ public class InsertTableDatetimeTask implements Runnable {
public void run() {
try {
Connection connection = JdbcTaosdemo.getConnection(config);
for (long ts = startDatetime; ts < finishedDatetime; ts++) {
int valueCnt = 100;
for (long ts = startDatetime; ts < finishedDatetime; ts+= valueCnt) {
for (int i = startTableIndex; i < startTableIndex + tableNumber; i++) {
String sql = JdbcTaosdemo.insertSql(i + 1, ts, config);
// String sql = JdbcTaosdemo.insertSql(i + 1, ts, config);
String sql = JdbcTaosdemo.batchInsertSql(i + 1, ts, valueCnt, config);
Statement statement = connection.createStatement();
statement.execute(sql);
statement.close();
......
package com.taosdata.example.task;
package com.taosdata.example.jdbcTaosdemo.task;
import com.taosdata.example.JdbcTaosdemo;
import com.taosdata.example.domain.JdbcTaosdemoConfig;
import com.taosdata.example.jdbcTaosdemo.JdbcTaosdemo;
import com.taosdata.example.jdbcTaosdemo.domain.JdbcTaosdemoConfig;
import org.apache.log4j.Logger;
import java.sql.Connection;
......@@ -9,7 +9,7 @@ import java.sql.SQLException;
import java.sql.Statement;
public class InsertTableTask implements Runnable {
private static Logger logger = Logger.getLogger(InsertTableTask.class);
private static final Logger logger = Logger.getLogger(InsertTableTask.class);
private final JdbcTaosdemoConfig config;
private final int startIndex;
......
package com.taosdata.example.utils;
package com.taosdata.example.jdbcTaosdemo.utils;
import java.sql.Date;
import java.text.ParseException;
......
### 设置###
log4j.rootLogger=debug,stdout,DebugLog,ErrorLog
#log4j.rootLogger=debug,stdout,DebugLog,ErrorLog
log4j.rootLogger=debug,DebugLog,ErrorLog
### 输出信息到控制抬 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
#log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.out
#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出DEBUG 级别以上的日志到=logs/error.log ###
log4j.appender.DebugLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DebugLog.File=logs/debug.log
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册