TDengine
TDengine copied to clipboard
TSDBPreparedStatement issue
StringBuilder sb = new StringBuilder("SELECT utc, mbid, cbjd, cbwd, cbsd, course, csx, rot,fusion_type ");
sb.append("from ?");
sb.append(" where utc > ? and utc < ? order by utc desc");
TSDBPreparedStatement pstmt = (TSDBPreparedStatement) conn.prepareStatement(sb.toString()).unwrap(TSDBPreparedStatement.class);
pstmt.setTableName("t_0_" + mmsi);
pstmt.setTimestamp(1, new java.sql.Timestamp(startUtc));
pstmt.setTimestamp(2, new java.sql.Timestamp(endUtc));
ResultSet resultSet = pstmt.executeQuery();
以上代码会将第一个Timestamp参数放在表名的参数位置
另外你们的官方文档写的设置参数从0开始,但是实际是从1开始的
<dependency>
<groupId>com.taosdata.jdbc</groupId>
<artifactId>taos-jdbcdriver</artifactId>
<version>3.0.0</version>
</dependency>
另外我想咨询一下,预编译对动态表名是否有价值?