influxDB初步学习
influxdb的安装等操作在我的文章。
首先得装influxdb,其次操作如下。
application.properties
spring.datasource.test1.jdbc-url=jdbc:mysql://localhost:3306/spms-prod?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=UTF-8
spring.datasource.test1.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.test1.username=root
spring.datasource.test1.password=root spring.datasource.test2.jdbc-url=jdbc:oracle:thin:@localhost:1521:orcl
spring.datasource.test2.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.test2.username=SYSTEM
spring.datasource.test2.password=root
#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.use-lock=true server.port=8089 mybatis.mapper-locations= classpath*:mapper/*/*.xml
mybatis.type-aliases-package=com.hainei.dao.*
pagehelper.helper-dialect=mysql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
pagehelper.params=count=countSql
#??????sql????????????????????
#mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#?????????????????
#jasypt.encryptor.password=zheTang
spring.jackson.time-zone= GMT+8 #influxDB
influxDBUserName=admin
influxDBPassword= hainei1205
influxDBOpenurl=http://192.168.1.145:8086
influxDBDatabase= newopc opcIp: 192.168.100.231
opcUserName: Administrator
opcPassWord: Abc.123+
opcCode: D66FD91F-927D-47df-B074-EB2CD3F85C18
influxdb中的模块
schedule
package com.hainei.influxdb.schedule; import com.hainei.influxdb.utils.InfluxDBConnection;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component; import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit; /**
* Created with IntelliJ IDEA.
* User: lzx
* Date: 2019/9/26
* Time: 17:41
* Description: No Description
*/
@Component
@PropertySource({"classpath:application.properties"})
public class PointSchedule {
@Value("${influxDBUserName}")
private String influxDBUserName ;
@Value("${influxDBPassword}")
private String influxDBPassword ;
@Value("${influxDBOpenurl}")
private String influxDBOpenurl ;
@Value("${influxDBDatabase}")
private String influxDBDatabase ; //@Scheduled(cron = "*/5 * * * * *")
public void simulate(String tag,String pointId,String value,String status,Long times){
// InfluxDBConnection influxDBConnection = new InfluxDBConnection("admin", "admin2", "http://10.100.10.127:8086", "opc", null); InfluxDBConnection influxDBConnection = new InfluxDBConnection(influxDBUserName, influxDBPassword, influxDBOpenurl, influxDBDatabase, null);
Map<String, String> tags = new HashMap<String, String>();
tags.put("tag1", tag);
Map<String, Object> fields = new HashMap<String, Object>();
fields.put("pointId", pointId);
fields.put("pointValue", value);
fields.put("status", status);
fields.put("times", times); influxDBConnection.insert("opc", tags, fields, System.currentTimeMillis(), TimeUnit.MILLISECONDS); } public static void main(String[] args){
new Thread() {
@Override
public void run() {
while (true) {
System.out.println(2);
for(int i = 0;i<100;i++){
double v = (1 + Math.random() * (10 - 1 + 1));
InfluxDBConnection influxDBConnection = new InfluxDBConnection("admin", "admin2", "http://192.168.1.145:8086", "newopc", null);
Map<String, String> tags = new HashMap<String, String>();
tags.put("tag1", "TIA_70"+i);
Map<String, Object> fields = new HashMap<String, Object>();
fields.put("pointId", "TIA_70"+i);
fields.put("pointValue", ""+v);
fields.put("status", "good");
fields.put("times", new Date().getTime()); influxDBConnection.insert("opc", tags, fields, System.currentTimeMillis(), TimeUnit.MILLISECONDS); }
try {
Thread.sleep(10000); //设置暂停的时间,5000=5秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start(); } }
service
package com.hainei.influxdb.schedule; import com.hainei.influxdb.utils.InfluxDBConnection;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component; import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit; /**
* Created with IntelliJ IDEA.
* User: lzx
* Date: 2019/9/26
* Time: 17:41
* Description: No Description
*/
@Component
@PropertySource({"classpath:application.properties"})
public class PointSchedule {
@Value("${influxDBUserName}")
private String influxDBUserName ;
@Value("${influxDBPassword}")
private String influxDBPassword ;
@Value("${influxDBOpenurl}")
private String influxDBOpenurl ;
@Value("${influxDBDatabase}")
private String influxDBDatabase ; //@Scheduled(cron = "*/5 * * * * *")
public void simulate(String tag,String pointId,String value,String status,Long times){
// InfluxDBConnection influxDBConnection = new InfluxDBConnection("admin", "admin2", "http://10.100.10.127:8086", "opc", null); InfluxDBConnection influxDBConnection = new InfluxDBConnection(influxDBUserName, influxDBPassword, influxDBOpenurl, influxDBDatabase, null);
Map<String, String> tags = new HashMap<String, String>();
tags.put("tag1", tag);
Map<String, Object> fields = new HashMap<String, Object>();
fields.put("pointId", pointId);
fields.put("pointValue", value);
fields.put("status", status);
fields.put("times", times); influxDBConnection.insert("opc", tags, fields, System.currentTimeMillis(), TimeUnit.MILLISECONDS); } public static void main(String[] args){
new Thread() {
@Override
public void run() {
while (true) {
System.out.println(2);
for(int i = 0;i<100;i++){
double v = (1 + Math.random() * (10 - 1 + 1));
InfluxDBConnection influxDBConnection = new InfluxDBConnection("admin", "admin2", "http://192.168.1.145:8086", "newopc", null);
Map<String, String> tags = new HashMap<String, String>();
tags.put("tag1", "TIA_70"+i);
Map<String, Object> fields = new HashMap<String, Object>();
fields.put("pointId", "TIA_70"+i);
fields.put("pointValue", ""+v);
fields.put("status", "good");
fields.put("times", new Date().getTime()); influxDBConnection.insert("opc", tags, fields, System.currentTimeMillis(), TimeUnit.MILLISECONDS); }
try {
Thread.sleep(10000); //设置暂停的时间,5000=5秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start(); } }
utils
package com.hainei.influxdb.utils; import okhttp3.OkHttpClient;
import org.influxdb.InfluxDB;
import org.influxdb.InfluxDBFactory;
import org.influxdb.dto.*; import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit; /**
* FileName: InfluxDBConnection
* Author: Administrator
* Date: 2019/7/30 9:20
* Description: influxDb工具类
*/
public class InfluxDBConnection { // 用户名
private String username;
// 密码
private String password;
// 连接地址
private String openurl;
// 数据库
private String database;
// 保留策略
private String retentionPolicy; private InfluxDB influxDB;
public InfluxDBConnection(String username, String password, String openurl, String database,
String retentionPolicy) {
this.username = username;
this.password = password;
this.openurl = openurl;
this.database = database;
this.retentionPolicy = retentionPolicy == null || retentionPolicy.equals("") ? "autogen" : retentionPolicy;
influxDbBuild();
} /**
* 创建数据库
*
* @param dbName
*/
@SuppressWarnings("deprecation")
public void createDB(String dbName) {
influxDB.createDatabase(dbName);
} /**
* 删除数据库
*
* @param dbName
*/
@SuppressWarnings("deprecation")
public void deleteDB(String dbName) {
influxDB.deleteDatabase(dbName);
} /**
* 测试连接是否正常
*
* @return true 正常
*/
public boolean ping() {
boolean isConnected = false;
Pong pong;
try {
pong = influxDB.ping();
if (pong != null) {
isConnected = true;
}
} catch (Exception e) {
e.printStackTrace();
}
return isConnected;
} /**
* 连接时序数据库 ,若不存在则创建
*
* @return
*/
public InfluxDB influxDbBuild() {
if (influxDB == null) {
influxDB = InfluxDBFactory.connect(openurl, username, password);
}
try {
// if (!influxDB.databaseExists(database)) {
// influxDB.createDatabase(database);
// }
} catch (Exception e) {
// 该数据库可能设置动态代理,不支持创建数据库
// e.printStackTrace();
} finally {
influxDB.setRetentionPolicy(retentionPolicy);
}
influxDB.setLogLevel(InfluxDB.LogLevel.NONE);
return influxDB;
} /**
* 创建自定义保留策略
*
* @param policyName
* 策略名
* @param duration
* 保存天数
* @param replication
* 保存副本数量
* @param isDefault
* 是否设为默认保留策略
*/
public void createRetentionPolicy(String policyName, String duration, int replication, Boolean isDefault) {
String sql = String.format("CREATE RETENTION POLICY \"%s\" ON \"%s\" DURATION %s REPLICATION %s ", policyName,
database, duration, replication);
if (isDefault) {
sql = sql + " DEFAULT";
}
this.query(sql);
} /**
* 创建默认的保留策略
* 策略名
* @param :default,保存天数:30天,保存副本数量:1
* 设为默认保留策略
*/
public void createDefaultRetentionPolicy() {
String command = String.format("CREATE RETENTION POLICY \"%s\" ON \"%s\" DURATION %s REPLICATION %s DEFAULT",
"default", database, "30d", 1);
this.query(command);
} /**
* 查询
*
* @param command
* 查询语句
* @return
*/
public QueryResult query(String command) {
return influxDB.query(new Query(command, database)); } /**
* 插入
*
* @param measurement
* 表
* @param tags
* 标签
* @param fields
* 字段
*/
public void insert(String measurement, Map<String, String> tags, Map<String, Object> fields, long time,
TimeUnit timeUnit) {
Point.Builder builder = Point.measurement(measurement);
builder.tag(tags);
builder.fields(fields);
if (0 != time) {
builder.time(time, timeUnit);
}
influxDB.write(database, retentionPolicy, builder.build());
} /**
* 批量写入测点
*
* @param batchPoints
*/
public void batchInsert(BatchPoints batchPoints) {
influxDB.write(batchPoints);
// influxDB.enableGzip();
// influxDB.enableBatch(2000,100,TimeUnit.MILLISECONDS);
// influxDB.disableGzip();
// influxDB.disableBatch();
} /**
* 批量写入数据
*
* @param database
* 数据库
* @param retentionPolicy
* 保存策略
* @param consistency
* 一致性
* @param records
* 要保存的数据(调用BatchPoints.lineProtocol()可得到一条record)
*/
public void batchInsert(final String database, final String retentionPolicy, final InfluxDB.ConsistencyLevel consistency,
final List<String> records) {
influxDB.write(database, retentionPolicy, consistency, records);
} /**
* 删除
*
* @param command
* 删除语句
* @return 返回错误信息
*/
public String deleteMeasurementData(String command) {
QueryResult result = influxDB.query(new Query(command, database));
return result.getError();
} /**
* 关闭数据库
*/
public void close() {
influxDB.close();
} /**
* 构建Point
*
* @param measurement
* @param time
* @param fields
* @return
*/
public Point pointBuilder(String measurement, long time, Map<String, String> tags, Map<String, Object> fields) {
Point point = Point.measurement(measurement).time(time, TimeUnit.MILLISECONDS).tag(tags).fields(fields).build();
return point;
} }
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.hainei</groupId>
<artifactId>getoracle</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>getoracle</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
<java.encoding>UTF-8</java.encoding>
<junit-version>4.11</junit-version>
<jar-no-version-redefined-version>2.0.0.RELEASE</jar-no-version-redefined-version>
<pom-version>3.10-FINAL</pom-version>
<spring-version>4.0.7.RELEASE</spring-version>
<servlet-version>2.5</servlet-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jar.scope>compile</jar.scope>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- jackson -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<!--引入pageHelper分页插件 -->
<!--mybatis分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.6</version>
</dependency>
<!--引入第三方数据源-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.43</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.2.0.1</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-guava</artifactId>
<version>2.5.3</version>
</dependency> <!-- tools -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
<!--<dependency>-->
<!--<groupId>org.quartz-scheduler</groupId>-->
<!--<artifactId>quartz</artifactId>-->
<!--<version>1.8.4</version>-->
<!--</dependency>--> <!--多数据源--> <dependency>
<groupId>org.influxdb</groupId>
<artifactId>influxdb-java</artifactId>
<version>2.15</version>
</dependency>
<dependency>
<groupId>org.opentsdb.opc</groupId>
<artifactId>lib</artifactId>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.jinterop.dcom</groupId>
<artifactId>common</artifactId>
<version>2.0.4</version>
</dependency>
<!--<!–kie api 构建kie虚拟文件系统,关联decisiontable和drl文件,很关键 –>-->
<!--<dependency>-->
<!--<groupId>org.kie</groupId>-->
<!--<artifactId>kie-api</artifactId>-->
<!--</dependency>-->
<!--<!– 规则引擎核心包,里面包含了RETE引擎和LEAPS 引擎–>-->
<!--<dependency>-->
<!--<groupId>org.drools</groupId>-->
<!--<artifactId>drools-core</artifactId>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>org.drools</groupId>-->
<!--<artifactId>drools-compiler</artifactId>-->
<!--</dependency>-->
<!--<!– 决策表依赖–>-->
<!--<dependency>-->
<!--<groupId>org.drools</groupId>-->
<!--<artifactId>drools-decisiontables</artifactId>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>org.drools</groupId>-->
<!--<artifactId>drools-templates</artifactId>-->
<!--</dependency>--> <!--导出poi的需要的工具类-->
<!--<dependency>-->
<!--<groupId>org.apache.poi</groupId>-->
<!--<artifactId>poi</artifactId>-->
<!--<version>3.0-FINAL</version>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>org.apache.poi</groupId>-->
<!--<artifactId>poi-ooxml</artifactId>-->
<!--<version>4.0.1</version>-->
<!--</dependency>-->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.16</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.5.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
</dependency>
<!--activiti-->
<!--<dependency>-->
<!--<groupId>org.activiti</groupId>-->
<!--<artifactId>activiti-spring-boot-starter-basic</artifactId>-->
<!--<version>5.22.0</version>-->
<!--</dependency>--> <!--<dependency>-->
<!--<groupId>org.activiti</groupId>-->
<!--<artifactId>activiti-modeler</artifactId>-->
<!--<version>5.22.0</version>-->
<!--</dependency>--> <!--<dependency>-->
<!--<groupId>org.activiti</groupId>-->
<!--<artifactId>activiti-diagram-rest</artifactId>-->
<!--<version>5.22.0</version>-->
<!--</dependency>--> <!--<dependency>-->
<!--<groupId>org.aspectj</groupId>-->
<!--<artifactId>aspectjweaver</artifactId>-->
<!--</dependency>--> <!--<dependency>-->
<!--<groupId>com.alibaba</groupId>-->
<!--<artifactId>druid-spring-boot-starter</artifactId>-->
<!--<version>${druid.version}</version>-->
<!--</dependency>--> <!--<dependency>-->
<!--<groupId>org.quartz-scheduler</groupId>-->
<!--<artifactId>quartz</artifactId>-->
<!--<version>${quartz.version}</version>-->
<!--<exclusions>-->
<!--<exclusion>-->
<!--<groupId>com.mchange</groupId>-->
<!--<artifactId>c3p0</artifactId>-->
<!--</exclusion>-->
<!--</exclusions>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>commons-fileupload</groupId>-->
<!--<artifactId>commons-fileupload</artifactId>-->
<!--<version>${commons.fileupload.version}</version>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>commons-io</groupId>-->
<!--<artifactId>commons-io</artifactId>-->
<!--<version>${commons.io.version}</version>-->
<!--</dependency>--> <!--<dependency>-->
<!--<groupId>io.springfox</groupId>-->
<!--<artifactId>springfox-swagger2</artifactId>-->
<!--<version>${swagger.version}</version>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>io.springfox</groupId>-->
<!--<artifactId>springfox-swagger-ui</artifactId>-->
<!--<version>${swagger.version}</version>-->
<!--</dependency>--> <!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-websocket</artifactId>-->
<!--</dependency>--> <!--<dependency>-->
<!--<groupId>commons-beanutils</groupId>-->
<!--<artifactId>commons-beanutils</artifactId>-->
<!--<version>${commons.beanutils.version}</version>-->
<!--</dependency>-->
<!--<!– https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 –>-->
<!--<dependency>-->
<!--<groupId>org.apache.commons</groupId>-->
<!--<artifactId>commons-collections4</artifactId>-->
<!--<version>${commons.collections4.version}</version>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>com.aspose</groupId>-->
<!--<artifactId>cells</artifactId>-->
<!--<version>${aspose.cells.version}</version>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>com.aspose</groupId>-->
<!--<artifactId>words</artifactId>-->
<!--<version>${aspose.words.version}</version>-->
<!--</dependency>-->
<!--图片压缩,缩放-->
<!--<dependency>-->
<!--<groupId>net.coobird</groupId>-->
<!--<artifactId>thumbnailator</artifactId>-->
<!--<version>${net.coobird.thumbnailator.version}</version>-->
<!--</dependency>-->
<!--<!–restTemplate访问https–>-->
<!--<dependency>-->
<!--<groupId>org.apache.httpcomponents</groupId>-->
<!--<artifactId>httpclient</artifactId>-->
<!--<version>${org.apache.httpcomponents.version}</version>-->
<!--</dependency>--> <!--<dependency>-->
<!--<groupId>org.apache.ant</groupId>-->
<!--<artifactId>ant</artifactId>-->
<!--<version>${org.apache.ant.version}</version>-->
<!--</dependency>--> <!--<dependency>-->
<!--<groupId>org.apache.ant</groupId>-->
<!--<artifactId>ant</artifactId>-->
<!--<version>1.8.4</version>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>com.baomidou</groupId>-->
<!--<artifactId>mybatisplus-spring-boot-starter</artifactId>-->
<!--<version>1.0.4</version>-->
<!--</dependency>--> <!--<dependency>-->
<!--<groupId>com.baomidou</groupId>-->
<!--<artifactId>mybatis-plus</artifactId>-->
<!--<version>2.0.7</version>-->
<!--</dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
<version>1.4.0.RELEASE</version>
</dependency> <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet-version}</version>
<scope>provided</scope>
</dependency> <dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<version>5.7.0</version>
</dependency> <dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>2.3.0</version>
</dependency> <dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.8.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
<scope>${jar.scope}</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
<scope>${jar.scope}</scope>
</dependency>
<dependency>
<groupId>net.sf.ezmorph</groupId>
<artifactId>ezmorph</artifactId>
<version>1.0.6</version>
<scope>${jar.scope}</scope>
</dependency> </dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>
influxDB初步学习的更多相关文章
- json2.js的初步学习与了解
json2.js的初步学习与了解,想要学习json的朋友可以参考下. json2.js的初步学习与了解 1.)该js的下载地址是:http://www.json.org/json2.js 2.)在页面 ...
- 老周的ABP框架系列教程 -》 一、框架理论初步学习
老周的ABP框架系列教程 -- 一.框架理论初步学习 1. ABP框架的来源与作用简介 1.1 简介 1.1.1 ABP框架全称为"ASP.NET Boilerplate ...
- 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助
初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...
- EF Codefirst 初步学习(二)—— 程序管理命令 更新数据库
前提:搭建成功codefirst相关代码,参见EF Codefirst 初步学习(一)--设置codefirst开发模式 具体需要注意点如下: 1.确保实体类库程序生成成功 2.确保实体表类库不缺少 ...
- 初步学习python
自计算机诞生以来,也伴随着计算机语言的诞生,现在,全世界的编程语言有600多种,但流行的编程语言也就20多种. Java和C一直占据着前两名.但是近年来伴随着人工智能的发展,Python发展迅猛,以其 ...
- Git的初步学习
前言 感谢! 承蒙关照~ Git的初步学习 为什么要用Git和Github呢?它们的出现是为了用于提交项目和存储项目的,是一种很方便的项目管理软件和网址地址. 接下来看看,一家公司的基本流程图: 集中 ...
- 语法分析器初步学习——LISP语法分析
语法分析器初步学习——LISP语法分析 本文参考自vczh的<如何手写语法分析器>. LISP的表达式是按照前缀的形式写的,比如(1+2)*(3+4)在LISP中会写成(*(+ 1 2)( ...
- 状态保持以及AJAX的初步学习
嘿嘿,今天学习的有点迷茫哦,主要学习把验证码使用在登录页面时间的一些逻辑,学习这个时间并没有那么的迷惑哦,可是自己写程序时间倒是有点反应迟钝,不过还好总是在最后搞清楚啦,另外就是一步一步的学习是接近项 ...
- LinQ的初步学习与总结
嘿嘿,说起来ORM和LinQ,就感觉离我好遥远的,在学校是没有学习的,所以总感觉学习了LinQ就是大神,现在嘛,终于也体会一点,感觉LinQ只是初步学习,没有太难,当然以后使用在项目中就没有这样的简单 ...
随机推荐
- PDOStatement::debugDumpParams
PDOStatement::debugDumpParams — 打印一条 SQL 预处理命令(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0) 说明 语法 bool P ...
- layui实现图片上传
页面代码: <style> .uploadImgBtn2{ width: 120px; height: 92px; cursor: pointer; position: relative; ...
- vue-cookies 使用
import VueCookies from 'vue-cookies' Vue.use(VueCookies) $cookies.config() 设置默认值 $cookies.config(exp ...
- DotNet Core
安装 dotnet add package Pomelo.EntityFrameworkCore.MySql 使用 MySQL 作为后端 在继承 DbContext 类中重写 OnConfig ...
- 10、Java 数组的定义和使用
1.数组的定义 首先举一个小例自:如果你现在需要定义100个int类型的变量,那么按照前俩节的做法为: int a = 1, b=2 , c=3.......; 可以发现我们的代码特别的冗余,而且不美 ...
- Weblogic 连接 RMI 服务报错 Connection refused
WebLogic 连接 RMI 服务报错 Connection refused 访问 WebLogic RMI 服务报错,连接被拒绝,连接超时. 奇怪的是,报错的 host 根本不是我要访问的. 报错 ...
- 从零搭建Spring Boot脚手架(4):手写Mybatis通用Mapper
1. 前言 今天继续搭建我们的kono Spring Boot脚手架,上一文把国内最流行的ORM框架Mybatis也集成了进去.但是很多时候我们希望有一些开箱即用的通用Mapper来简化我们的开发.我 ...
- HRNet
- 性能分析(5)- 软中断导致 CPU 使用率过高的案例
性能分析小案例系列,可以通过下面链接查看哦 https://www.cnblogs.com/poloyy/category/1814570.html 前言 软中断基本原理,可参考这篇博客:https: ...
- K8S 创建管理员账号
一.生成管理员证书 cat > admin-csr.json <<EOF { "CN": "admin", "hosts" ...