代码拉取完成,页面将自动刷新
这是一个InfluxDB的框架,适用版本1.8.x,使用方式类似于Mybatis,对influxDB官方工具进行了简易封装,支持使用注解的方式对InfluxDB进行增、删、查操作,需配合Spring Boot使用。 注意数据库字段和实体类变量字段需要一致,暂未支持驼峰和下划线命名的映射,要么都下划线要么都驼峰。
POM文件添加依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.influxdb</groupId>
<artifactId>influxdb-java</artifactId>
<version>2.18</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>io.github.betacatcode</groupId>
<artifactId>spring-boot-starter-influxdb</artifactId>
<version>0.0.6-RELEASE</version>
</dependency>
配置yml文件
spring:
influx:
url: http://127.0.0.1:8086
password: 123456
user: admin
mapper-location: com.github.betacatcode
import lombok.Data;
import org.influxdb.annotation.Column;
import org.influxdb.annotation.Measurement;
import org.influxdb.annotation.TimeColumn;
import java.time.Instant;
@Data
@Measurement(database = "test",name = "student")
public class Student {
private String id;
@Column(name = "sname",tag = true)
private String sname;
@Column(name = "value")
private Double value;
@TimeColumn
@Column(name = "time")
private Instant time;
}
public interface StudentMapper extends InfluxDBBaseMapper {
@Select(value = "select * from test.autogen.student where sname=#{sname}",resultType = Student.class)
List<Student> selectByName(@Param("sname")String sname);
@Delete(value = "delete from student",database = "test")
void deleteAll();
}
@RunWith(SpringRunner.class)
@SpringBootTest
class InfluxdbAnnotationApplicationTests {
@Autowired
StudentMapper studentMapper;
@Test
void contextLoads() {
}
//单条插入
@Test
void testInsertOne(){
Student student1 = new Student();
student1.setSname("ww");
student1.setValue(235.12);
student1.setTime(Instant.ofEpochMilli(1640966500000L));
studentMapper.insertOne(student1);
}
//批量插入
@Test
void testInsertBatch(){
Student student1 = new Student();
student1.setSname("zs");
student1.setValue(123.45);
student1.setTime(Instant.ofEpochMilli(1640966400000L));
Student student2 = new Student();
student2.setSname("ls");
student2.setValue(666.21);
student2.setTime(Instant.ofEpochMilli(1640966300000L));
List<Student> studentList = new ArrayList<>();
studentList.add(student1);
studentList.add(student2);
studentMapper.insertBatch(studentList);
}
//查询
@Test
void testSelect(){
List<Student> studentList = studentMapper.selectByName("zs");
for (Student student : studentList) {
System.out.println(student);
}
}
//删除
@Test
void testDelete(){
studentMapper.deleteAll();
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。