国产IOTDB(1.3.2):第5集 JAVA 项目链接IOTDB配置

前言:

        本人主要是从事的JAVA开发,如用其它语言的也应该都是流程上大体类似,引入依赖-->编写配置-->创建链接池-->项目调用。但是注意,每次使用完链接请求后,一定要关闭链接,或者说调用close方法,不然可能一直占据链接,致使数据库负载增加和本地无链接可用。下面的篇幅主要是建立在已有项目上进行扩充,不会单独建立项目。(现在有很多开源的好项目,找个单体的容易上手的,还是那句话多看,多练,多上手!)下面是前面的文章的链接:

国产IOTDB(1.3.2):第0集 本地Docker搭建展示和建议-CSDN博客

国产IOTDB(1.3.2):第1集 本地Docker部署之1-CSDN博客

国产IOTDB(1.3.2):第2集 本地Docker部署之2-CSDN博客

国产IOTDB(1.3.2):第3集 参数建议和优化_iotdb修改启动内存-CSDN博客

国产IOTDB(1.3.2):第4集 常用语句-CSDN博客

1、引入依赖

        个人建议在项目里面新建一个模块,然后在新模块里面进行引入,这样也能保证一定的规范性和隔离性,尤其是模块多的单体项目。对于微服务,我个人的建议是最好单独一个微服务。(题外话,到底是多大的项目要用到微服务?又有多少是为了微服务而微服务?)

        <dependency>
            <groupId>org.apache.iotdb</groupId>
            <artifactId>iotdb-session</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.fusesource.mqtt-client</groupId>
            <artifactId>mqtt-client</artifactId>
            <version>1.16</version>
        </dependency>

上面的是链接IOTDB需要的依赖(目前写此篇的时候最新的就是1.3.2)。下面的是mqtt的依赖,如果你的项目用不到mqtt,可以不用引入。

2、编写配置文件

        网上有很多例子怎么在一个类里面写数据库链接,或者每次调用一个方法。我这里还是建议把配置性的内容放入到yml里面,然后通过线程池去管理。当然每个人的情况不一样,每个项目的作用也不尽相同,以你为准。下面贴出来我的配置文件。

dev和prod是咋回事这里就不多说了。

host:就是你那iotdb对外的地址,或者说如果你的项目和你的iotdb都放到了同一个虚拟环境下的话,我更建议是虚拟的那个绑定的ip,这样不至于从外面再绕一圈。

port:端口,这个没啥说的。

username、password:用户名和密码

maxSize:链接池大小

timeOut:链接超时时间

fetchSize:发起一次iotdb请求下,每次最大获得的数据量大小,这个可以用默认的也就是不设定。

3、定义JAVA配置类

@Slf4j
@Component
@Configuration
public class IotDBSessionConfig {

    @Value("${iotdb.username:root}")
    private String username;

    @Value("${iotdb.password:root}")
    private String password;

    @Value("${iotdb.host:127.0.0.1}")
    private String ip;

    @Value("${iotdb.port:6667}")
    private int port;

    @Value("${iotdb.maxSize:10}")
    private int maxSize;

    @Value("${iotdb.fetchSize:1000}")
    private int fetchSize;

    @Value("${iotdb.timeOut:60000}")
    public static int TIME_OUT;

    private static SessionPool sessionIotPool;

    @Bean
    public SessionPool getSessionIotPool() throws IoTDBConnectionException, StatementExecutionException {
        if (sessionIotPool == null) {
            sessionIotPool = new SessionPool(ip, port, username, password, maxSize);
            sessionIotPool.setTimeZone("Asia/Shanghai");
            sessionIotPool.setQueryTimeout(TIME_OUT);
            sessionIotPool.setFetchSize(fetchSize);
        }
        return sessionIotPool;
    }
}

上面我还设定了时区,一般服务器时间都没问题的话,应该是不用,这里也是以防万一。

4、编写工具类

我的习惯都是通过工具类来进行操作,你如果想单独一个个的写,以你为准。

目前先贴出来一个通用方法,后面的文章里面,我会介绍更多的方法和编写相关功能。上面是个通用执行sql的方法,只需要在项目里面引入工具类,组织好sql调用即可链接上iotdb进行操作,上面也是个万能的方法,毕竟是执行sql……

结语:

          经过上面的配置,就能实现让你的项目链接上iotdb数据库进行你想要的操作,但是我个人建议在编写功能的时候,在操作数据库的时候,先在数据库里面执行一下sql,看看是否是自己想要的效果(这里说的是查询啊!别delete,update就那么执行了),别着急写代码,多想多测试。

        

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值