Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
f1896f54
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f1896f54
编写于
1月 05, 2021
作者:
Z
zyyang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-2297]<test>: check local taos-jdbcdriver-2.0.x.jar
上级
7138b29f
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
35 addition
and
1008 deletion
+35
-1008
tests/examples/JDBC/JDBCDemo/pom.xml
tests/examples/JDBC/JDBCDemo/pom.xml
+2
-13
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/JdbcDemo.java
...JDBCDemo/src/main/java/com/taosdata/example/JdbcDemo.java
+33
-69
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/JdbcTaosdemo.java
.../java/com/taosdata/example/jdbcTaosdemo/JdbcTaosdemo.java
+0
-357
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/domain/JdbcTaosdemoConfig.java
...sdata/example/jdbcTaosdemo/domain/JdbcTaosdemoConfig.java
+0
-153
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/task/CreateTableTask.java
...m/taosdata/example/jdbcTaosdemo/task/CreateTableTask.java
+0
-42
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/task/InsertTableDatetimeTask.java
...ta/example/jdbcTaosdemo/task/InsertTableDatetimeTask.java
+0
-49
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/task/InsertTableTask.java
...m/taosdata/example/jdbcTaosdemo/task/InsertTableTask.java
+0
-57
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/utils/ConnectionFactory.java
...aosdata/example/jdbcTaosdemo/utils/ConnectionFactory.java
+0
-32
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/utils/SqlSpeller.java
...a/com/taosdata/example/jdbcTaosdemo/utils/SqlSpeller.java
+0
-126
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/utils/TimeStampUtil.java
...om/taosdata/example/jdbcTaosdemo/utils/TimeStampUtil.java
+0
-37
tests/examples/JDBC/JDBCDemo/src/main/resources/log4j.properties
...xamples/JDBC/JDBCDemo/src/main/resources/log4j.properties
+0
-21
tests/examples/JDBC/JDBCDemo/src/test/java/com/taosdata/example/jdbcTaosdemo/utils/TimeStampUtilTest.java
...aosdata/example/jdbcTaosdemo/utils/TimeStampUtilTest.java
+0
-52
未找到文件。
tests/examples/JDBC/JDBCDemo/pom.xml
浏览文件 @
f1896f54
...
...
@@ -23,7 +23,7 @@
<configuration>
<archive>
<manifest>
<mainClass>
com.taosdata.example.Jdbc
Checker
</mainClass>
<mainClass>
com.taosdata.example.Jdbc
Demo
</mainClass>
</manifest>
</archive>
<descriptorRefs>
...
...
@@ -56,18 +56,7 @@
<dependency>
<groupId>
com.taosdata.jdbc
</groupId>
<artifactId>
taos-jdbcdriver
</artifactId>
<version>
2.0.12
</version>
</dependency>
<dependency>
<groupId>
log4j
</groupId>
<artifactId>
log4j
</artifactId>
<version>
1.2.17
</version>
</dependency>
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
<version>
4.13.1
</version>
<scope>
test
</scope>
<version>
2.0.15
</version>
</dependency>
</dependencies>
</project>
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/Jdbc
Checker
.java
→
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/Jdbc
Demo
.java
浏览文件 @
f1896f54
...
...
@@ -5,16 +5,37 @@ import com.taosdata.jdbc.TSDBDriver;
import
java.sql.*
;
import
java.util.Properties
;
public
class
Jdbc
Checker
{
public
class
Jdbc
Demo
{
private
static
String
host
;
private
static
String
dbName
=
"test"
;
private
static
String
tbName
=
"weather"
;
private
static
final
String
dbName
=
"test"
;
private
static
final
String
tbName
=
"weather"
;
private
Connection
connection
;
/**
* get connection
**/
public
static
void
main
(
String
[]
args
)
{
for
(
int
i
=
0
;
i
<
args
.
length
;
i
++)
{
if
(
"-host"
.
equalsIgnoreCase
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
host
=
args
[++
i
];
}
if
(
host
==
null
)
{
System
.
out
.
println
(
"Usage: java -jar JdbcDemo.jar -host <hostname>"
);
return
;
}
JdbcDemo
demo
=
new
JdbcDemo
();
demo
.
init
();
demo
.
createDatabase
();
demo
.
useDatabase
();
demo
.
dropTable
();
demo
.
createTable
();
demo
.
insert
();
demo
.
select
();
demo
.
dropTable
();
demo
.
close
();
}
private
void
init
()
{
// get connection
try
{
Class
.
forName
(
"com.taosdata.jdbc.TSDBDriver"
);
Properties
properties
=
new
Properties
();
...
...
@@ -31,26 +52,17 @@ public class JdbcChecker {
}
}
/**
* create database
*/
private
void
createDatabase
()
{
String
sql
=
"create database if not exists "
+
dbName
;
exuete
(
sql
);
}
/**
* use database
*/
private
void
useDatabase
()
{
String
sql
=
"use "
+
dbName
;
exuete
(
sql
);
}
/**
* select
*/
private
void
checkSelect
()
{
private
void
select
()
{
final
String
sql
=
"select * from test.weather"
;
executeQuery
(
sql
);
}
...
...
@@ -79,40 +91,21 @@ public class JdbcChecker {
}
}
private
String
formatString
(
String
str
)
{
StringBuilder
sb
=
new
StringBuilder
();
int
blankCnt
=
(
26
-
str
.
length
())
/
2
;
for
(
int
j
=
0
;
j
<
blankCnt
;
j
++)
sb
.
append
(
" "
);
sb
.
append
(
str
);
for
(
int
j
=
0
;
j
<
blankCnt
;
j
++)
sb
.
append
(
" "
);
sb
.
append
(
"|"
);
return
sb
.
toString
();
}
/**
* insert
*/
private
void
checkInsert
()
{
private
void
insert
()
{
final
String
sql
=
"insert into test.weather (ts, temperature, humidity) values(now, 20.5, 34)"
;
exuete
(
sql
);
}
/**
* create table
*/
private
void
createTable
()
{
final
String
sql
=
"create table if not exists "
+
dbName
+
"."
+
tbName
+
" (ts timestamp, temperature float, humidity int)"
;
exuete
(
sql
);
}
private
final
void
printSql
(
String
sql
,
boolean
succeed
,
long
cost
)
{
private
void
printSql
(
String
sql
,
boolean
succeed
,
long
cost
)
{
System
.
out
.
println
(
"[ "
+
(
succeed
?
"OK"
:
"ERROR!"
)
+
" ] time cost: "
+
cost
+
" ms, execute statement ====> "
+
sql
);
}
private
final
void
exuete
(
String
sql
)
{
private
void
exuete
(
String
sql
)
{
try
(
Statement
statement
=
connection
.
createStatement
())
{
long
start
=
System
.
currentTimeMillis
();
boolean
execute
=
statement
.
execute
(
sql
);
...
...
@@ -120,7 +113,7 @@ public class JdbcChecker {
printSql
(
sql
,
execute
,
(
end
-
start
));
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
...
...
@@ -135,39 +128,10 @@ public class JdbcChecker {
}
}
private
void
checkD
ropTable
()
{
private
void
d
ropTable
()
{
final
String
sql
=
"drop table if exists "
+
dbName
+
"."
+
tbName
+
""
;
exuete
(
sql
);
}
public
static
void
main
(
String
[]
args
)
{
for
(
int
i
=
0
;
i
<
args
.
length
;
i
++)
{
if
(
"-host"
.
equalsIgnoreCase
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
host
=
args
[++
i
];
}
if
(
"-db"
.
equalsIgnoreCase
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
dbName
=
args
[++
i
];
}
if
(
"-t"
.
equalsIgnoreCase
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
tbName
=
args
[++
i
];
}
}
if
(
host
==
null
)
{
System
.
out
.
println
(
"Usage: java -jar JDBCConnectorChecker.jar -host <hostname>"
);
return
;
}
JdbcChecker
checker
=
new
JdbcChecker
();
checker
.
init
();
checker
.
createDatabase
();
checker
.
useDatabase
();
checker
.
checkDropTable
();
checker
.
createTable
();
checker
.
checkInsert
();
checker
.
checkSelect
();
checker
.
checkDropTable
();
checker
.
close
();
}
}
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/JdbcTaosdemo.java
已删除
100644 → 0
浏览文件 @
7138b29f
package
com.taosdata.example.jdbcTaosdemo
;
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.ConnectionFactory
;
import
com.taosdata.example.jdbcTaosdemo.utils.SqlSpeller
;
import
com.taosdata.example.jdbcTaosdemo.utils.TimeStampUtil
;
import
org.apache.log4j.Logger
;
import
java.sql.*
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
public
class
JdbcTaosdemo
{
private
static
Logger
logger
=
Logger
.
getLogger
(
JdbcTaosdemo
.
class
);
private
final
JdbcTaosdemoConfig
config
;
private
Connection
connection
;
public
JdbcTaosdemo
(
JdbcTaosdemoConfig
config
)
{
this
.
config
=
config
;
}
public
static
void
main
(
String
[]
args
)
{
// parse config from args
JdbcTaosdemoConfig
config
=
new
JdbcTaosdemoConfig
(
args
);
boolean
isHelp
=
Arrays
.
asList
(
args
).
contains
(
"--help"
);
if
(
isHelp
)
{
JdbcTaosdemoConfig
.
printHelp
();
return
;
}
if
(
config
.
getHost
()
==
null
)
{
JdbcTaosdemoConfig
.
printHelp
();
return
;
}
JdbcTaosdemo
taosdemo
=
new
JdbcTaosdemo
(
config
);
// establish connection
taosdemo
.
init
();
// drop database
taosdemo
.
dropDatabase
();
// create database
taosdemo
.
createDatabase
();
// use db
taosdemo
.
useDatabase
();
// create super table
taosdemo
.
createSuperTable
();
// create sub tables
taosdemo
.
createTableMultiThreads
();
boolean
infinite
=
Arrays
.
asList
(
args
).
contains
(
"--infinite"
);
if
(
infinite
)
{
logger
.
info
(
"!!! Infinite Insert Mode Started. !!!"
);
taosdemo
.
insertInfinite
();
}
else
{
// insert into table
taosdemo
.
insertMultiThreads
();
// select from sub table
taosdemo
.
selectFromTableLimit
();
taosdemo
.
selectCountFromTable
();
taosdemo
.
selectAvgMinMaxFromTable
();
// select last from
taosdemo
.
selectLastFromTable
();
// select from super table
taosdemo
.
selectFromSuperTableLimit
();
taosdemo
.
selectCountFromSuperTable
();
taosdemo
.
selectAvgMinMaxFromSuperTable
();
//select avg ,max from stb where tag
taosdemo
.
selectAvgMinMaxFromSuperTableWhereTag
();
//select last from stb where location = ''
taosdemo
.
selectLastFromSuperTableWhere
();
// select group by
taosdemo
.
selectGroupBy
();
// select like
taosdemo
.
selectLike
();
// select where ts >= ts<=
taosdemo
.
selectLastOneHour
();
taosdemo
.
selectLastOneDay
();
taosdemo
.
selectLastOneWeek
();
taosdemo
.
selectLastOneMonth
();
taosdemo
.
selectLastOneYear
();
// drop super table
if
(
config
.
isDeleteTable
())
taosdemo
.
dropSuperTable
();
taosdemo
.
close
();
}
}
/**
* establish the connection
*/
private
void
init
()
{
try
{
Class
.
forName
(
"com.taosdata.jdbc.TSDBDriver"
);
connection
=
ConnectionFactory
.
build
(
config
);
if
(
connection
!=
null
)
logger
.
info
(
"[ OK ] Connection established."
);
}
catch
(
ClassNotFoundException
|
SQLException
e
)
{
logger
.
error
(
e
.
getMessage
());
throw
new
RuntimeException
(
"connection failed: "
+
config
.
getHost
());
}
}
/**
* create database
*/
private
void
createDatabase
()
{
String
sql
=
SqlSpeller
.
createDatabaseSQL
(
config
.
getDbName
(),
config
.
getKeep
(),
config
.
getDays
());
execute
(
sql
);
}
/**
* drop database
*/
private
void
dropDatabase
()
{
String
sql
=
SqlSpeller
.
dropDatabaseSQL
(
config
.
getDbName
());
execute
(
sql
);
}
/**
* use database
*/
private
void
useDatabase
()
{
String
sql
=
SqlSpeller
.
useDatabaseSQL
(
config
.
getDbName
());
execute
(
sql
);
}
/**
* create super table
*/
private
void
createSuperTable
()
{
String
sql
=
SqlSpeller
.
createSuperTableSQL
(
config
.
getStbName
());
execute
(
sql
);
}
/**
* create table use super table with multi threads
*/
private
void
createTableMultiThreads
()
{
try
{
final
int
tableSize
=
config
.
getNumberOfTable
()
/
config
.
getNumberOfThreads
();
List
<
Thread
>
threads
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
config
.
getNumberOfThreads
();
i
++)
{
Thread
thread
=
new
Thread
(
new
CreateTableTask
(
config
,
i
*
tableSize
,
tableSize
),
"Thread-"
+
i
);
threads
.
add
(
thread
);
thread
.
start
();
}
for
(
Thread
thread
:
threads
)
{
thread
.
join
();
}
logger
.
info
(
"<<< Multi Threads create table finished."
);
}
catch
(
InterruptedException
e
)
{
logger
.
error
(
e
.
getMessage
());
e
.
printStackTrace
();
}
}
/**
* insert data infinitely
*/
private
void
insertInfinite
()
{
try
{
final
long
startDatetime
=
TimeStampUtil
.
datetimeToLong
(
"2005-01-01 00:00:00.000"
);
final
long
finishDatetime
=
TimeStampUtil
.
datetimeToLong
(
"2030-01-01 00:00:00.000"
);
final
int
tableSize
=
config
.
getNumberOfTable
()
/
config
.
getNumberOfThreads
();
List
<
Thread
>
threads
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
config
.
getNumberOfThreads
();
i
++)
{
Thread
thread
=
new
Thread
(
new
InsertTableDatetimeTask
(
config
,
i
*
tableSize
,
tableSize
,
startDatetime
,
finishDatetime
),
"Thread-"
+
i
);
threads
.
add
(
thread
);
thread
.
start
();
}
for
(
Thread
thread
:
threads
)
{
thread
.
join
();
}
logger
.
info
(
"<<< Multi Threads insert table finished."
);
}
catch
(
InterruptedException
e
)
{
logger
.
error
(
e
.
getMessage
());
e
.
printStackTrace
();
}
}
private
void
insertMultiThreads
()
{
try
{
final
int
tableSize
=
config
.
getNumberOfTable
()
/
config
.
getNumberOfThreads
();
final
int
numberOfRecordsPerTable
=
config
.
getNumberOfRecordsPerTable
();
List
<
Thread
>
threads
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
config
.
getNumberOfThreads
();
i
++)
{
Thread
thread
=
new
Thread
(
new
InsertTableTask
(
config
,
i
*
tableSize
,
tableSize
,
numberOfRecordsPerTable
),
"Thread-"
+
i
);
threads
.
add
(
thread
);
thread
.
start
();
}
for
(
Thread
thread
:
threads
)
{
thread
.
join
();
}
logger
.
info
(
"<<< Multi Threads insert table finished."
);
}
catch
(
InterruptedException
e
)
{
logger
.
error
(
e
.
getMessage
());
e
.
printStackTrace
();
}
}
private
void
selectFromTableLimit
()
{
String
sql
=
SqlSpeller
.
selectFromTableLimitSQL
(
config
.
getDbName
(),
config
.
getTbPrefix
(),
1
,
10
,
0
);
executeQuery
(
sql
);
}
private
void
selectCountFromTable
()
{
String
sql
=
SqlSpeller
.
selectCountFromTableSQL
(
config
.
getDbName
(),
config
.
getTbPrefix
(),
1
);
executeQuery
(
sql
);
}
private
void
selectAvgMinMaxFromTable
()
{
String
sql
=
SqlSpeller
.
selectAvgMinMaxFromTableSQL
(
"current"
,
config
.
getDbName
(),
config
.
getTbPrefix
(),
1
);
executeQuery
(
sql
);
}
private
void
selectLastFromTable
()
{
String
sql
=
SqlSpeller
.
selectLastFromTableSQL
(
config
.
getDbName
(),
config
.
getTbPrefix
(),
1
);
executeQuery
(
sql
);
}
private
void
selectFromSuperTableLimit
()
{
String
sql
=
SqlSpeller
.
selectFromSuperTableLimitSQL
(
config
.
getDbName
(),
config
.
getStbName
(),
10
,
0
);
executeQuery
(
sql
);
}
private
void
selectCountFromSuperTable
()
{
String
sql
=
SqlSpeller
.
selectCountFromSuperTableSQL
(
config
.
getDbName
(),
config
.
getStbName
());
executeQuery
(
sql
);
}
private
void
selectAvgMinMaxFromSuperTable
()
{
String
sql
=
SqlSpeller
.
selectAvgMinMaxFromSuperTableSQL
(
"current"
,
config
.
getDbName
(),
config
.
getStbName
());
executeQuery
(
sql
);
}
private
void
selectAvgMinMaxFromSuperTableWhereTag
()
{
String
sql
=
SqlSpeller
.
selectAvgMinMaxFromSuperTableWhere
(
"current"
,
config
.
getDbName
(),
config
.
getStbName
());
executeQuery
(
sql
);
}
private
void
selectLastFromSuperTableWhere
()
{
String
sql
=
SqlSpeller
.
selectLastFromSuperTableWhere
(
"current"
,
config
.
getDbName
(),
config
.
getStbName
());
executeQuery
(
sql
);
}
private
void
selectGroupBy
()
{
String
sql
=
SqlSpeller
.
selectGroupBy
(
"current"
,
config
.
getDbName
(),
config
.
getStbName
());
executeQuery
(
sql
);
}
private
void
selectLike
()
{
String
sql
=
SqlSpeller
.
selectLike
(
config
.
getDbName
(),
config
.
getStbName
());
executeQuery
(
sql
);
}
private
void
selectLastOneHour
()
{
String
sql
=
SqlSpeller
.
selectLastOneHour
(
config
.
getDbName
(),
config
.
getStbName
());
executeQuery
(
sql
);
}
private
void
selectLastOneDay
()
{
String
sql
=
SqlSpeller
.
selectLastOneDay
(
config
.
getDbName
(),
config
.
getStbName
());
executeQuery
(
sql
);
}
private
void
selectLastOneWeek
()
{
String
sql
=
SqlSpeller
.
selectLastOneWeek
(
config
.
getDbName
(),
config
.
getStbName
());
executeQuery
(
sql
);
}
private
void
selectLastOneMonth
()
{
String
sql
=
SqlSpeller
.
selectLastOneMonth
(
config
.
getDbName
(),
config
.
getStbName
());
executeQuery
(
sql
);
}
private
void
selectLastOneYear
()
{
String
sql
=
SqlSpeller
.
selectLastOneYear
(
config
.
getDbName
(),
config
.
getStbName
());
executeQuery
(
sql
);
}
private
void
close
()
{
try
{
if
(
connection
!=
null
)
{
this
.
connection
.
close
();
logger
.
info
(
"connection closed."
);
}
}
catch
(
SQLException
e
)
{
logger
.
error
(
e
.
getMessage
());
e
.
printStackTrace
();
}
}
/**
* drop super table
*/
private
void
dropSuperTable
()
{
String
sql
=
SqlSpeller
.
dropSuperTableSQL
(
config
.
getDbName
(),
config
.
getStbName
());
execute
(
sql
);
}
/**
* execute sql, use this method when sql is create, alter, drop..
*/
private
void
execute
(
String
sql
)
{
try
(
Statement
statement
=
connection
.
createStatement
())
{
long
start
=
System
.
currentTimeMillis
();
boolean
execute
=
statement
.
execute
(
sql
);
long
end
=
System
.
currentTimeMillis
();
printSql
(
sql
,
execute
,
(
end
-
start
));
}
catch
(
SQLException
e
)
{
logger
.
error
(
"ERROR execute SQL ===> "
+
sql
);
logger
.
error
(
e
.
getMessage
());
e
.
printStackTrace
();
}
}
private
static
void
printSql
(
String
sql
,
boolean
succeed
,
long
cost
)
{
System
.
out
.
println
(
"[ "
+
(
succeed
?
"OK"
:
"ERROR!"
)
+
" ] time cost: "
+
cost
+
" ms, execute statement ====> "
+
sql
);
}
private
void
executeQuery
(
String
sql
)
{
try
(
Statement
statement
=
connection
.
createStatement
())
{
long
start
=
System
.
currentTimeMillis
();
ResultSet
resultSet
=
statement
.
executeQuery
(
sql
);
long
end
=
System
.
currentTimeMillis
();
printSql
(
sql
,
true
,
(
end
-
start
));
printResult
(
resultSet
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"ERROR execute SQL ===> "
+
sql
);
logger
.
error
(
e
.
getMessage
());
e
.
printStackTrace
();
}
}
private
static
void
printResult
(
ResultSet
resultSet
)
throws
SQLException
{
ResultSetMetaData
metaData
=
resultSet
.
getMetaData
();
while
(
resultSet
.
next
())
{
StringBuilder
sb
=
new
StringBuilder
();
for
(
int
i
=
1
;
i
<=
metaData
.
getColumnCount
();
i
++)
{
String
columnLabel
=
metaData
.
getColumnLabel
(
i
);
String
value
=
resultSet
.
getString
(
i
);
sb
.
append
(
columnLabel
+
": "
+
value
+
"\t"
);
}
System
.
out
.
println
(
sb
.
toString
());
}
}
}
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/domain/JdbcTaosdemoConfig.java
已删除
100644 → 0
浏览文件 @
7138b29f
package
com.taosdata.example.jdbcTaosdemo.domain
;
public
final
class
JdbcTaosdemoConfig
{
//The host to connect to TDengine. Must insert one
private
String
host
;
//The TCP/IP port number to use for the connection. Default is 6030.
private
int
port
=
6030
;
//The TDengine user name to use when connecting to the server. Default is 'root'
private
String
user
=
"root"
;
//The password to use when connecting to the server. Default is 'taosdata'
private
String
password
=
"taosdata"
;
//Destination database. Default is 'test'
private
String
dbName
=
"test"
;
//keep
private
int
keep
=
36500
;
//days
private
int
days
=
120
;
//Super table Name. Default is 'meters'
private
String
stbName
=
"meters"
;
//Table name prefix. Default is 'd'
private
String
tbPrefix
=
"d"
;
//The number of tables. Default is 10.
private
int
numberOfTable
=
10
;
//The number of records per table. Default is 2
private
int
numberOfRecordsPerTable
=
2
;
//The number of records per request. Default is 100
private
int
numberOfRecordsPerRequest
=
100
;
//The number of threads. Default is 1.
private
int
numberOfThreads
=
1
;
//Delete data. Default is false
private
boolean
deleteTable
=
false
;
public
static
void
printHelp
()
{
System
.
out
.
println
(
"Usage: java -jar JdbcTaosDemo.jar [OPTION...]"
);
System
.
out
.
println
(
"-h host The host to connect to TDengine. you must input one"
);
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_tables The number of tables. Default is 10"
);
System
.
out
.
println
(
"-n num_of_records_per_table The number of records per table. Default is 2"
);
System
.
out
.
println
(
"-r num_of_records_per_req The number of records per request. Default is 100"
);
System
.
out
.
println
(
"-T num_of_threads The number of threads. Default is 1"
);
System
.
out
.
println
(
"-D delete table Delete data methods. Default is false"
);
System
.
out
.
println
(
"--help Give this help list"
);
// System.out.println("--infinite infinite insert mode");
}
/**
* parse args from command line
*
* @param args command line args
* @return JdbcTaosdemoConfig
*/
public
JdbcTaosdemoConfig
(
String
[]
args
)
{
for
(
int
i
=
0
;
i
<
args
.
length
;
i
++)
{
if
(
"-h"
.
equals
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
host
=
args
[++
i
];
}
if
(
"-p"
.
equals
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
port
=
Integer
.
parseInt
(
args
[++
i
]);
}
if
(
"-u"
.
equals
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
user
=
args
[++
i
];
}
if
(
"-P"
.
equals
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
password
=
args
[++
i
];
}
if
(
"-d"
.
equals
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
dbName
=
args
[++
i
];
}
if
(
"-m"
.
equals
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
tbPrefix
=
args
[++
i
];
}
if
(
"-t"
.
equals
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
numberOfTable
=
Integer
.
parseInt
(
args
[++
i
]);
}
if
(
"-n"
.
equals
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
numberOfRecordsPerTable
=
Integer
.
parseInt
(
args
[++
i
]);
}
if
(
"-r"
.
equals
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
numberOfRecordsPerRequest
=
Integer
.
parseInt
(
args
[++
i
]);
}
if
(
"-T"
.
equals
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
numberOfThreads
=
Integer
.
parseInt
(
args
[++
i
]);
}
if
(
"-D"
.
equals
(
args
[
i
])
&&
i
<
args
.
length
-
1
)
{
deleteTable
=
Boolean
.
parseBoolean
(
args
[++
i
]);
}
}
}
public
String
getHost
()
{
return
host
;
}
public
int
getPort
()
{
return
port
;
}
public
String
getUser
()
{
return
user
;
}
public
String
getPassword
()
{
return
password
;
}
public
String
getDbName
()
{
return
dbName
;
}
public
int
getKeep
()
{
return
keep
;
}
public
int
getDays
()
{
return
days
;
}
public
String
getStbName
()
{
return
stbName
;
}
public
String
getTbPrefix
()
{
return
tbPrefix
;
}
public
int
getNumberOfTable
()
{
return
numberOfTable
;
}
public
int
getNumberOfRecordsPerTable
()
{
return
numberOfRecordsPerTable
;
}
public
int
getNumberOfThreads
()
{
return
numberOfThreads
;
}
public
boolean
isDeleteTable
()
{
return
deleteTable
;
}
public
int
getNumberOfRecordsPerRequest
()
{
return
numberOfRecordsPerRequest
;
}
}
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/task/CreateTableTask.java
已删除
100644 → 0
浏览文件 @
7138b29f
package
com.taosdata.example.jdbcTaosdemo.task
;
import
com.taosdata.example.jdbcTaosdemo.domain.JdbcTaosdemoConfig
;
import
com.taosdata.example.jdbcTaosdemo.utils.ConnectionFactory
;
import
com.taosdata.example.jdbcTaosdemo.utils.SqlSpeller
;
import
org.apache.log4j.Logger
;
import
java.sql.Connection
;
import
java.sql.SQLException
;
import
java.sql.Statement
;
public
class
CreateTableTask
implements
Runnable
{
private
static
Logger
logger
=
Logger
.
getLogger
(
CreateTableTask
.
class
);
private
final
JdbcTaosdemoConfig
config
;
private
final
int
startIndex
;
private
final
int
tableNumber
;
public
CreateTableTask
(
JdbcTaosdemoConfig
config
,
int
startIndex
,
int
tableNumber
)
{
this
.
config
=
config
;
this
.
startIndex
=
startIndex
;
this
.
tableNumber
=
tableNumber
;
}
@Override
public
void
run
()
{
try
{
Connection
connection
=
ConnectionFactory
.
build
(
config
);
for
(
int
i
=
startIndex
;
i
<
startIndex
+
tableNumber
;
i
++)
{
Statement
statement
=
connection
.
createStatement
();
String
sql
=
SqlSpeller
.
createTableSQL
(
i
+
1
,
config
.
getDbName
(),
config
.
getStbName
());
statement
.
execute
(
sql
);
statement
.
close
();
logger
.
info
(
">>> "
+
sql
);
}
connection
.
close
();
}
catch
(
SQLException
e
)
{
logger
.
error
(
e
.
getMessage
());
e
.
printStackTrace
();
}
}
}
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/task/InsertTableDatetimeTask.java
已删除
100644 → 0
浏览文件 @
7138b29f
package
com.taosdata.example.jdbcTaosdemo.task
;
import
com.taosdata.example.jdbcTaosdemo.domain.JdbcTaosdemoConfig
;
import
com.taosdata.example.jdbcTaosdemo.utils.ConnectionFactory
;
import
com.taosdata.example.jdbcTaosdemo.utils.SqlSpeller
;
import
org.apache.log4j.Logger
;
import
java.sql.Connection
;
import
java.sql.SQLException
;
import
java.sql.Statement
;
public
class
InsertTableDatetimeTask
implements
Runnable
{
private
static
Logger
logger
=
Logger
.
getLogger
(
InsertTableDatetimeTask
.
class
);
private
final
JdbcTaosdemoConfig
config
;
private
final
int
startTableIndex
;
private
final
int
tableNumber
;
private
final
long
startDatetime
;
private
final
long
finishedDatetime
;
public
InsertTableDatetimeTask
(
JdbcTaosdemoConfig
config
,
int
startTableIndex
,
int
tableNumber
,
long
startDatetime
,
long
finishedDatetime
)
{
this
.
config
=
config
;
this
.
startTableIndex
=
startTableIndex
;
this
.
tableNumber
=
tableNumber
;
this
.
startDatetime
=
startDatetime
;
this
.
finishedDatetime
=
finishedDatetime
;
}
@Override
public
void
run
()
{
try
{
Connection
connection
=
ConnectionFactory
.
build
(
config
);
int
valuesCount
=
config
.
getNumberOfRecordsPerRequest
();
for
(
long
ts
=
startDatetime
;
ts
<
finishedDatetime
;
ts
+=
valuesCount
)
{
for
(
int
i
=
startTableIndex
;
i
<
startTableIndex
+
tableNumber
;
i
++)
{
String
sql
=
SqlSpeller
.
insertBatchSizeRowsSQL
(
config
.
getDbName
(),
config
.
getTbPrefix
(),
i
+
1
,
ts
,
valuesCount
);
Statement
statement
=
connection
.
createStatement
();
statement
.
execute
(
sql
);
statement
.
close
();
logger
.
info
(
Thread
.
currentThread
().
getName
()
+
">>> "
+
sql
);
}
}
connection
.
close
();
}
catch
(
SQLException
e
)
{
logger
.
error
(
e
.
getMessage
());
e
.
printStackTrace
();
}
}
}
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/task/InsertTableTask.java
已删除
100644 → 0
浏览文件 @
7138b29f
package
com.taosdata.example.jdbcTaosdemo.task
;
import
com.taosdata.example.jdbcTaosdemo.domain.JdbcTaosdemoConfig
;
import
com.taosdata.example.jdbcTaosdemo.utils.ConnectionFactory
;
import
com.taosdata.example.jdbcTaosdemo.utils.SqlSpeller
;
import
org.apache.log4j.Logger
;
import
java.sql.Connection
;
import
java.sql.SQLException
;
import
java.sql.Statement
;
import
java.time.Duration
;
import
java.time.Instant
;
import
java.time.temporal.ChronoUnit
;
public
class
InsertTableTask
implements
Runnable
{
private
static
final
Logger
logger
=
Logger
.
getLogger
(
InsertTableTask
.
class
);
private
final
JdbcTaosdemoConfig
config
;
private
final
int
startTbIndex
;
private
final
int
tableNumber
;
private
final
int
recordsNumberPerTable
;
public
InsertTableTask
(
JdbcTaosdemoConfig
config
,
int
startTbIndex
,
int
tableNumber
,
int
recordsNumberPerTable
)
{
this
.
config
=
config
;
this
.
startTbIndex
=
startTbIndex
;
this
.
tableNumber
=
tableNumber
;
this
.
recordsNumberPerTable
=
recordsNumberPerTable
;
}
@Override
public
void
run
()
{
try
{
Connection
connection
=
ConnectionFactory
.
build
(
config
);
int
keep
=
config
.
getKeep
();
Instant
end
=
Instant
.
now
();
Instant
start
=
end
.
minus
(
Duration
.
ofDays
(
keep
-
1
));
long
timeGap
=
ChronoUnit
.
MILLIS
.
between
(
start
,
end
)
/
(
recordsNumberPerTable
-
1
);
// iterate insert
for
(
int
j
=
0
;
j
<
recordsNumberPerTable
;
j
++)
{
long
ts
=
start
.
toEpochMilli
()
+
(
j
*
timeGap
);
// insert data into echo table
for
(
int
i
=
startTbIndex
;
i
<
startTbIndex
+
tableNumber
;
i
++)
{
String
sql
=
SqlSpeller
.
insertBatchSizeRowsSQL
(
config
.
getDbName
(),
config
.
getTbPrefix
(),
i
+
1
,
ts
,
config
.
getNumberOfRecordsPerRequest
());
logger
.
info
(
Thread
.
currentThread
().
getName
()
+
">>> "
+
sql
);
Statement
statement
=
connection
.
createStatement
();
statement
.
execute
(
sql
);
statement
.
close
();
}
}
connection
.
close
();
}
catch
(
SQLException
e
)
{
logger
.
error
(
e
.
getMessage
());
e
.
printStackTrace
();
}
}
}
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/utils/ConnectionFactory.java
已删除
100644 → 0
浏览文件 @
7138b29f
package
com.taosdata.example.jdbcTaosdemo.utils
;
import
com.taosdata.example.jdbcTaosdemo.domain.JdbcTaosdemoConfig
;
import
com.taosdata.jdbc.TSDBDriver
;
import
java.sql.Connection
;
import
java.sql.DriverManager
;
import
java.sql.SQLException
;
import
java.util.Properties
;
public
class
ConnectionFactory
{
public
static
Connection
build
(
JdbcTaosdemoConfig
config
)
throws
SQLException
{
return
build
(
config
.
getHost
(),
config
.
getPort
(),
config
.
getDbName
(),
config
.
getUser
(),
config
.
getPassword
());
}
public
static
Connection
build
(
String
host
,
int
port
,
String
dbName
)
throws
SQLException
{
return
build
(
host
,
port
,
dbName
,
"root"
,
"taosdata"
);
}
private
static
Connection
build
(
String
host
,
int
port
,
String
dbName
,
String
user
,
String
password
)
throws
SQLException
{
Properties
properties
=
new
Properties
();
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_USER
,
user
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_PASSWORD
,
password
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_CHARSET
,
"UTF-8"
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_LOCALE
,
"en_US.UTF-8"
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_TIME_ZONE
,
"UTC-8"
);
return
DriverManager
.
getConnection
(
"jdbc:TAOS://"
+
host
+
":"
+
port
+
"/"
+
dbName
+
""
,
properties
);
}
}
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/utils/SqlSpeller.java
已删除
100644 → 0
浏览文件 @
7138b29f
package
com.taosdata.example.jdbcTaosdemo.utils
;
import
java.util.Random
;
public
class
SqlSpeller
{
private
static
final
Random
random
=
new
Random
(
System
.
currentTimeMillis
());
private
static
final
String
[]
locations
=
{
"Beijing"
,
"Shanghai"
,
"Guangzhou"
,
"Shenzhen"
,
"HangZhou"
,
"Tianjin"
,
"Wuhan"
,
"Changsha"
,
"Nanjing"
,
"Xian"
};
public
static
String
createDatabaseSQL
(
String
dbName
,
int
keep
,
int
days
)
{
return
"create database if not exists "
+
dbName
+
" keep "
+
keep
+
" days "
+
days
;
}
public
static
String
dropDatabaseSQL
(
String
dbName
)
{
return
"drop database if exists "
+
dbName
;
}
public
static
String
useDatabaseSQL
(
String
dbName
)
{
return
"use "
+
dbName
;
}
public
static
String
createSuperTableSQL
(
String
superTableName
)
{
return
"create table if not exists "
+
superTableName
+
"(ts timestamp, current float, voltage int, phase float) tags(location binary(64), groupId int)"
;
}
public
static
String
dropSuperTableSQL
(
String
dbName
,
String
superTableName
)
{
return
"drop table if exists "
+
dbName
+
"."
+
superTableName
;
}
public
static
String
createTableSQL
(
int
tableIndex
,
String
dbName
,
String
superTableName
)
{
String
location
=
locations
[
random
.
nextInt
(
locations
.
length
)];
return
"create table d"
+
tableIndex
+
" using "
+
dbName
+
"."
+
superTableName
+
" tags('"
+
location
+
"',"
+
tableIndex
+
")"
;
}
public
static
String
insertOneRowSQL
(
String
dbName
,
String
tbPrefix
,
int
tableIndex
,
long
ts
)
{
float
current
=
10
+
random
.
nextFloat
();
int
voltage
=
200
+
random
.
nextInt
(
20
);
float
phase
=
random
.
nextFloat
();
String
sql
=
"insert into "
+
dbName
+
"."
+
tbPrefix
+
""
+
tableIndex
+
" "
+
"values("
+
ts
+
", "
+
current
+
", "
+
voltage
+
", "
+
phase
+
")"
;
return
sql
;
}
public
static
String
insertBatchSizeRowsSQL
(
String
dbName
,
String
tbPrefix
,
int
tbIndex
,
long
ts
,
int
valuesCount
)
{
float
current
=
10
+
random
.
nextFloat
();
int
voltage
=
200
+
random
.
nextInt
(
20
);
float
phase
=
random
.
nextFloat
();
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
"insert into "
+
dbName
+
"."
+
tbPrefix
+
""
+
tbIndex
+
" "
+
"values"
);
for
(
int
i
=
0
;
i
<
valuesCount
;
i
++)
{
sb
.
append
(
"("
+
(
ts
+
i
)
+
", "
+
current
+
", "
+
voltage
+
", "
+
phase
+
") "
);
}
return
sb
.
toString
();
}
public
static
String
selectFromTableLimitSQL
(
String
dbName
,
String
tbPrefix
,
int
tbIndex
,
int
limit
,
int
offset
)
{
return
"select * from "
+
dbName
+
"."
+
tbPrefix
+
""
+
tbIndex
+
" limit "
+
limit
+
" offset "
+
offset
;
}
public
static
String
selectCountFromTableSQL
(
String
dbName
,
String
tbPrefix
,
int
tbIndex
)
{
return
"select count(*) from "
+
dbName
+
"."
+
tbPrefix
+
""
+
tbIndex
;
}
public
static
String
selectAvgMinMaxFromTableSQL
(
String
field
,
String
dbName
,
String
tbPrefix
,
int
tbIndex
)
{
return
"select avg("
+
field
+
"),min("
+
field
+
"),max("
+
field
+
") from "
+
dbName
+
"."
+
tbPrefix
+
""
+
tbIndex
;
}
public
static
String
selectFromSuperTableLimitSQL
(
String
dbName
,
String
stbName
,
int
limit
,
int
offset
)
{
return
"select * from "
+
dbName
+
"."
+
stbName
+
" limit "
+
limit
+
" offset "
+
offset
;
}
public
static
String
selectCountFromSuperTableSQL
(
String
dbName
,
String
stableName
)
{
return
"select count(*) from "
+
dbName
+
"."
+
stableName
;
}
public
static
String
selectAvgMinMaxFromSuperTableSQL
(
String
field
,
String
dbName
,
String
stbName
)
{
return
"select avg("
+
field
+
"),min("
+
field
+
"),max("
+
field
+
") from "
+
dbName
+
"."
+
stbName
+
""
;
}
public
static
String
selectLastFromTableSQL
(
String
dbName
,
String
tbPrefix
,
int
tbIndex
)
{
return
"select last(*) from "
+
dbName
+
"."
+
tbPrefix
+
""
+
tbIndex
;
}
//select avg ,max from stb where tag
public
static
String
selectAvgMinMaxFromSuperTableWhere
(
String
field
,
String
dbName
,
String
stbName
)
{
return
"select avg("
+
field
+
"),min("
+
field
+
"),max("
+
field
+
") from "
+
dbName
+
"."
+
stbName
+
" where location = '"
+
locations
[
random
.
nextInt
(
locations
.
length
)]
+
"'"
;
}
//select last from stb where
public
static
String
selectLastFromSuperTableWhere
(
String
field
,
String
dbName
,
String
stbName
)
{
return
"select last("
+
field
+
") from "
+
dbName
+
"."
+
stbName
+
" where location = '"
+
locations
[
random
.
nextInt
(
locations
.
length
)]
+
"'"
;
}
public
static
String
selectGroupBy
(
String
field
,
String
dbName
,
String
stbName
)
{
return
"select avg("
+
field
+
") from "
+
dbName
+
"."
+
stbName
+
" group by location"
;
}
public
static
String
selectLike
(
String
dbName
,
String
stbName
)
{
return
"select * from "
+
dbName
+
"."
+
stbName
+
" where location like 'S%'"
;
}
public
static
String
selectLastOneHour
(
String
dbName
,
String
stbName
)
{
return
"select * from "
+
dbName
+
"."
+
stbName
+
" where ts >= now - 1h"
;
}
public
static
String
selectLastOneDay
(
String
dbName
,
String
stbName
)
{
return
"select * from "
+
dbName
+
"."
+
stbName
+
" where ts >= now - 1d"
;
}
public
static
String
selectLastOneWeek
(
String
dbName
,
String
stbName
)
{
return
"select * from "
+
dbName
+
"."
+
stbName
+
" where ts >= now - 1w"
;
}
public
static
String
selectLastOneMonth
(
String
dbName
,
String
stbName
)
{
return
"select * from "
+
dbName
+
"."
+
stbName
+
" where ts >= now - 1n"
;
}
public
static
String
selectLastOneYear
(
String
dbName
,
String
stbName
)
{
return
"select * from "
+
dbName
+
"."
+
stbName
+
" where ts >= now - 1y"
;
}
// select group by
// select like
// select ts >= ts<=
}
\ No newline at end of file
tests/examples/JDBC/JDBCDemo/src/main/java/com/taosdata/example/jdbcTaosdemo/utils/TimeStampUtil.java
已删除
100644 → 0
浏览文件 @
7138b29f
package
com.taosdata.example.jdbcTaosdemo.utils
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.time.Duration
;
import
java.time.Instant
;
import
java.util.Date
;
public
class
TimeStampUtil
{
private
static
final
String
datetimeFormat
=
"yyyy-MM-dd HH:mm:ss.SSS"
;
public
static
long
datetimeToLong
(
String
dateTime
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
datetimeFormat
);
try
{
return
sdf
.
parse
(
dateTime
).
getTime
();
}
catch
(
ParseException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
public
static
String
longToDatetime
(
long
time
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
datetimeFormat
);
return
sdf
.
format
(
new
Date
(
time
));
}
public
static
void
main
(
String
[]
args
)
throws
ParseException
{
// Instant now = Instant.now();
// System.out.println(now);
// Instant years20Ago = now.minus(Duration.ofDays(365));
// System.out.println(years20Ago);
}
}
tests/examples/JDBC/JDBCDemo/src/main/resources/log4j.properties
已删除
100644 → 0
浏览文件 @
7138b29f
### 设置###
log4j.rootLogger
=
debug,stdout,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
### 输出DEBUG 级别以上的日志到=logs/error.log ###
log4j.appender.DebugLog
=
org.apache.log4j.DailyRollingFileAppender
log4j.appender.DebugLog.File
=
logs/debug.log
log4j.appender.DebugLog.Append
=
true
log4j.appender.DebugLog.Threshold
=
DEBUG
log4j.appender.DebugLog.layout
=
org.apache.log4j.PatternLayout
log4j.appender.DebugLog.layout.ConversionPattern
=
%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 输出ERROR 级别以上的日志到=logs/error.log ###
log4j.appender.ErrorLog
=
org.apache.log4j.DailyRollingFileAppender
log4j.appender.ErrorLog.File
=
logs/error.log
log4j.appender.ErrorLog.Append
=
true
log4j.appender.ErrorLog.Threshold
=
ERROR
log4j.appender.ErrorLog.layout
=
org.apache.log4j.PatternLayout
log4j.appender.ErrorLog.layout.ConversionPattern
=
%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
\ No newline at end of file
tests/examples/JDBC/JDBCDemo/src/test/java/com/taosdata/example/jdbcTaosdemo/utils/TimeStampUtilTest.java
已删除
100644 → 0
浏览文件 @
7138b29f
package
com.taosdata.example.jdbcTaosdemo.utils
;
import
org.junit.Test
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.time.Duration
;
import
java.time.Instant
;
import
java.time.format.DateTimeFormatter
;
import
java.time.temporal.ChronoUnit
;
import
java.util.Date
;
import
static
org
.
junit
.
Assert
.*;
public
class
TimeStampUtilTest
{
@Test
public
void
datetimeToLong
()
{
final
String
startTime
=
"2005-01-01 00:00:00.000"
;
long
start
=
TimeStampUtil
.
datetimeToLong
(
startTime
);
assertEquals
(
1104508800000
l
,
start
);
}
@Test
public
void
longToDatetime
()
{
String
datetime
=
TimeStampUtil
.
longToDatetime
(
1510000000000L
);
assertEquals
(
"2017-11-07 04:26:40.000"
,
datetime
);
}
@Test
public
void
getStartDateTime
()
{
int
keep
=
365
;
Instant
end
=
Instant
.
now
();
System
.
out
.
println
(
end
.
toString
());
System
.
out
.
println
(
end
.
toEpochMilli
());
Instant
start
=
end
.
minus
(
Duration
.
ofDays
(
keep
));
System
.
out
.
println
(
start
.
toString
());
System
.
out
.
println
(
start
.
toEpochMilli
());
int
numberOfRecordsPerTable
=
10
;
long
timeGap
=
ChronoUnit
.
MILLIS
.
between
(
start
,
end
)
/
(
numberOfRecordsPerTable
-
1
);
System
.
out
.
println
(
timeGap
);
System
.
out
.
println
(
"==========================="
);
for
(
int
i
=
0
;
i
<
numberOfRecordsPerTable
;
i
++)
{
long
ts
=
start
.
toEpochMilli
()
+
(
i
*
timeGap
);
System
.
out
.
println
(
i
+
" : "
+
ts
);
}
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录