前言:TDengine语法与mysql语句基本一致,也提供了丰富的应用程序开发接口,其中包括C/C++、JAVA、Python、RESTful、Go等,便于用户快速开发应用。本文主要展示JDBC连接TDengine的详细配置,连接完成后,即可使用与mysql Java-Connector一样的Java语句对TDengine进行各种操作。
前几天在连接时,因为自己Java和mysql语句基础薄弱 ,踩了不少坑才成功,本文会对连接过程进行详解。(代码可以直接复制 包含的网址非必须访问即可成功)
在terminal中依次输入:
systemctl start taosd//启动服务
taos//打开数据库
create database test;
use test;
CREATE TABLE meters (ts timestamp, current float, voltage int, phase float) TAGS (location binary(64), groupdId int);//建立表格
CREATE TABLE d1001 USING meters TAGS ("Beijing.Chaoyang", 2);//建立子表
INSERT INTO d1001 USING METERS TAGS ("Beijng.Chaoyang", 2) VALUES (now, 10.2, 219, 0.32);//插入示例数据
正式步骤
1、官网获取配置代码(多种方式)简单浏览即可 下面有完整的代码可供复制
2、去第三方网址下载对应版本的依赖jar包
(很有名的网站 可以搜到各种connector的jar包)
3、打开intelliJ IDEA,新建Java项目,并给项目引入jar包
鼠标在项目主文件夹处右击 单击Open Module Settings
单击左边的Libraries
单击左上方的加号 然后选择Java 之后就可以从jar包下载目录引入jar包(选择完成单击ok即可)
左边出现对应版本的jar包即可
4、建立连接
在src目录下新建java class文件 命名为DBcommon 在其中输入:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;//需要引用完整
public class DBcommon {
public static Statement getConnect() {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
Class.forName("com.taosdata.jdbc.TSDBDriver");
String jdbcUrl = "jdbc:TAOS://127.0.0.1:6030/test?user=root&password=taosdata";
//上述地址为本地TDengine通用地址 “test”为TDengine中的一个数据库 需要根据具体需求做更改 这里跟mysql连接大致相同 可以先学习mysql
Connection conn = DriverManager.getConnection(jdbcUrl);
Statement stmt = conn.createStatement();
return stmt;
} catch (Exception e) {
System.out.println("error");
return null;//try catch为固定格式 catch报错这里不需要配置太复杂 照抄即可
}
}
}
之后尝试编译运行 如果没有报错 即成功
如果报错说有缺失的依赖 则需要自行百度搜索并安装到系统
5、JDBC操作数据库实例
在同一个文件夹下新建java class 命名为test
import java.sql.ResultSet;
import java.sql.Statement;
public class test {
public static void main(String[] args) {
try {
Statement stmt = DBcommon.getConnect();//调用连接配置文件
String sql = "select * from meters";
ResultSet rs = stmt.executeQuery(sql);//简单的查询语句
String name=null;
String job = null;
while (rs.next()) {// 判断是否还有下一个数据
// 根据字段名获取相应的值
name = rs.getString("ts");
job = rs.getString(("current"));
//输出查到的记录的各个字段的值
System.out.println(name+" "+job);
}//简单的while循环语句示例(需要预先在数据库中输入相关信息)
} catch (Exception e) {
System.out.println("error sdffsw");
}
}
6、如果想要连接和操作语句在同一个java class文件中 也可输入如下代码(新建class命名A)
package net;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
public class A {
public static void main(String[] args){
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
Class.forName("com.taosdata.jdbc.TSDBDriver");
String jdbcUrl = "jdbc:TAOS://127.0.0.1:6030/test?user=root&password=taosdata";
Connection conn = DriverManager.getConnection(jdbcUrl);
Statement stmt = conn.createStatement();
//以下可进行增删查改操作
String sql="select * from meters";
ResultSet rs=stmt.executeQuery(sql);
String job =null;
while(rs.next()){
job=rs.getString(("current"));
System.out.println(job);
}
}catch(Exception e){
System.out.println("error sdffsw");
}