代码功能:新增五条student数据到influxdb数据库中
问题:每次运行代码都是新增一条记录
代码如下:
public static void main(String[] args) {
BatchPoints batchPoints = BatchPoints
.database("cjj_test")
.consistency(InfluxDB.ConsistencyLevel.ALL)
.build();
for(int i = 0; i < 5 ;i++) {
Point.Builder builder = Point.measurement("student");
Student stu = new Student();
stu.setAge(17);
stu.setClasses(i);
stu.setName("cjj");
stu.setSex("男");
builder.addFieldsFromPOJO(stu);
Point point = builder.build();
batchPoints.point(point);
}
InfluxDB influxDB = InfluxDBFactory.connect("http://10.10.50.8:8086", "admin", "admin");
influxDB.setDatabase("cjj_test");
influxDB.setLogLevel(InfluxDB.LogLevel.BASIC);
influxDB.write(batchPoints);
}
其实这段代码五条记录都插入到influxdb数据库中了,只不过5条student数据产生的时间戳一样,time相同的后来数据就会覆盖之前的数据,只要设置不同的time就这解决问题。
设置时间代码:
builder.time(System.nanoTime(), TimeUnit.NANOSECONDS);
注意: 时间戳尽量设置的长,我这里设置的是纳秒级别16位长度,
如何这里设置的时间有重复也会存在数据被覆盖的问题,influxdb数据库自动生成的time是19位