当前位置: 首页 > news >正文

网站建设与运维预算小程序的下载

网站建设与运维预算,小程序的下载,网络教育做的好的网站,wordpress双语切换前言 系列文章#xff1a; Nebula Graph-01-Nebula Graph简介和安装以及客户端连接 Nebula Graph-02-NebulaGraph高阶配置、用户管理、日志 Nebula Graph-03-NebulaGraph Studio-可视化web工具安装和使用 Nebula Graph-04-NebulaGraph nGQL的介绍和使用 Nebula Graph-05-Nebu…前言 系列文章 Nebula Graph-01-Nebula Graph简介和安装以及客户端连接 Nebula Graph-02-NebulaGraph高阶配置、用户管理、日志 Nebula Graph-03-NebulaGraph Studio-可视化web工具安装和使用 Nebula Graph-04-NebulaGraph nGQL的介绍和使用 Nebula Graph-05-NebulaGraph nGQL和SQL区别 Nebula Graph-06-NebulaGraph Java 使用 和SpringBoot集成Nebula Graph Nebula Graph Java NebulaGraph Java官网地址https://docs.nebula-graph.com.cn/3.6.0/14.client/1.nebula-client/ 官网说明及版本对比https://github.com/vesoft-inc/nebula-java/tree/release-3.6 导包 如果使用 Maven 管理您的项目请将以下依赖项添加到您的文件中。 替换为适当的 Nebula Java 版本。 dependencygroupIdcom.vesoft/groupIdartifactIdclient/artifactIdversion3.0-SNAPSHOT/version /dependency客户端版本和Nebula Graph 版本对应 连接 Java调用主要是三部分, 创建连接池, 创建会话, 执行查询 创建 NebulaPool 连接池 NebulaPool pool new NebulaPool(); try {NebulaPoolConfig nebulaPoolConfig new NebulaPoolConfig();nebulaPoolConfig.setMaxConnSize(100);ListHostAddress addresses Arrays.asList(new HostAddress(127.0.0.1, 9669));Boolean initResult pool.init(addresses, nebulaPoolConfig);if (!initResult) {log.error(pool init failed.);return;} } catch () //... 创建 Session 会话 Session session pool.getSession(root, nebula, false);执行查询 创建一个SPACE, 然后使用这个SPACE, 创建一个TAG person, 创建一个EDGE like String createSchema CREATE SPACE IF NOT EXISTS test(vid_typefixed_string(20)); USE test; CREATE TAG IF NOT EXISTS person(name string, age int); CREATE EDGE IF NOT EXISTS like(likeness double); ResultSet resp session.execute(createSchema); if (!resp.isSucceeded()) {log.error(String.format(Execute: %s, failed: %s,createSchema, resp.getErrorMessage()));System.exit(1); } 简单使用-helloWorld package com.example.demo;import com.vesoft.nebula.client.graph.NebulaPoolConfig; import com.vesoft.nebula.client.graph.data.HostAddress; import com.vesoft.nebula.client.graph.data.ResultSet; import com.vesoft.nebula.client.graph.net.NebulaPool; import com.vesoft.nebula.client.graph.net.Session;import java.util.Arrays; import java.util.List;/*** author wangkanglu* version 1.0* description* date 2024-03-25 14:10*/ public class TestNebulaGraph {public static void main(String[] args) {try {NebulaPoolConfig nebulaPoolConfignew NebulaPoolConfig();nebulaPoolConfig.setMaxConnSize(10);ListHostAddress addresses Arrays.asList(new HostAddress(192.168.217.129,9669));NebulaPool poolnew NebulaPool();Boolean initResult pool.init(addresses,nebulaPoolConfig);//创建 Session 会话,创建会话时需要用户名和密码//参数账号/密码/是否断开后重试Session sessionpool.getSession(root,nebula,false);ResultSet resultSet session.execute(SHOW HOSTS;);//通知服务器不再需要该会话并将连接返回到池该连接将被重用。如果用户不再使用会话则调用此函数。session.release();pool.close();} catch (Exception e) {e.printStackTrace();}} NebulaGraph Java Client API 地址https://vesoft-inc.github.io/nebula-java/release-3.6/annotated.html 在 SpringBoot 项目中使用 Nebula Graph 导包 dependencygroupIdcom.vesoft/groupIdartifactIdclient/artifactIdversion3.0.0/version /dependency dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.83/version /dependency 配合FastJson一起用比较方便, 为了解决fastjson漏洞问题, 使用1.2.83及其以上版本 配置文件 nebula:address[0]:host: 192.168.247.130port: 9669username: rootpassword: 123456reconnect: falsespace: my_spaceaddress[0]: 因为是开发, 所以配置为单机的, 等部署生产的话, 可以增加address[1-…]来完成集群的配置space: 图空间 配置连接 1声明 NebulaProperties 接收上面的配置信息 package com.example.demo.nebula;import lombok.Data;Data public class NebulaAddress {private String host;private Integer port; }package com.example.demo.nebula;import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration;import java.util.List;Data Configuration ConfigurationProperties(prefix nebula) public class NebulaProperties {private ListNebulaAddress address;private String username;private String password;private boolean reconnect;private String space; }2声明 NebulaConfig 初始化 NebulaPool 及声明 Session 的获取方式 package com.example.demo.nebula;import com.sun.javafx.binding.StringFormatter; import com.vesoft.nebula.client.graph.NebulaPoolConfig; import com.vesoft.nebula.client.graph.data.HostAddress; import com.vesoft.nebula.client.graph.net.NebulaPool; import com.vesoft.nebula.client.graph.net.Session; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.ScopedProxyMode;import java.util.stream.Collectors;/*** author wangkanglu* version 1.0* description* date 2024-03-25 15:35*/ Slf4j Configuration public class NebulaConfig {Beanpublic NebulaPool nebulaPool(NebulaProperties nebulaProperties) throws Exception {NebulaPool pool new NebulaPool();NebulaPoolConfig nebulaPoolConfig new NebulaPoolConfig();nebulaPoolConfig.setMaxConnSize(1000);boolean init pool.init(nebulaProperties.getAddress().stream().map(d - new HostAddress(d.getHost(), d.getPort())).collect(Collectors.toList()), nebulaPoolConfig);if (!init){throw new RuntimeException(NebulaGraph init err !);}else {log.info(NebulaGraph init Success );}return pool;}BeanScope(scopeName prototype,proxyMode ScopedProxyMode.TARGET_CLASS)public Session session(NebulaPool nebulaPool, NebulaProperties nebulaProperties) {try {Session session nebulaPool.getSession(nebulaProperties.getUsername(), nebulaProperties.getPassword(), nebulaProperties.isReconnect());session.execute(StringFormatter.concat(NebulaConstant.USE, nebulaProperties.getSpace(), NebulaConstant.SEMICOLON).getValue());return session;} catch (Exception e) {log.error(get nebula session err , {} , e.toString());}return null;}} 定义Nebula 常量和返回结果 1:定义常量 package com.example.demo.nebula;import lombok.AllArgsConstructor; import lombok.Getter;/*** author wangkanglu* version 1.0* description* date 2024-03-25 15:36*/ public class NebulaConstant {public static final String USE USE ;public static final String SEMICOLON ; ;public static final String ERROR_CODE -1;GetterAllArgsConstructorpublic enum NebulaJson{ERRORS(errors),CODE(code),MESSAGE(message),RESULTS(results),COLUMNS(columns),DATA(data),ROW(row);private String key;} }2为了方便对结果的解析再声明一个 NebulaResult 用来接收结果 package com.example.demo.nebula;import lombok.Data;import java.util.List;/*** author wangkanglu* version 1.0* description* date 2024-03-25 15:37*/ Data public class NebulaResultT{private Integer code;private String message;private ListT data;public boolean isSuccessed(){return code 0;} } 封装一个 NebulaTemplate package com.example.demo.nebula;import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.vesoft.nebula.client.graph.net.Session; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component;import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.stream.Collectors;/*** author wangkanglu* version 1.0* description* date 2024-03-25 15:37*/ Slf4j Component public class NebulaTemplate {ResourceSession session;public T NebulaResultT queryObject(String stmt, ClassT tClass) {NebulaResultT nebulaResult executeObject(stmt);if (Objects.isNull(nebulaResult.getData())) {return nebulaResult;}Optional.ofNullable(nebulaResult.getData()).ifPresent(data - nebulaResult.setData(data.stream().map(d - JSONObject.toJavaObject(((JSONObject) d), tClass)).collect(Collectors.toList())));return nebulaResult;}public NebulaResult executeObject(String stmt) {JSONObject jsonObject executeJson(stmt);return JSONObject.toJavaObject(jsonObject, NebulaResult.class);}public JSONObject executeJson(String stmt) {JSONObject restJson new JSONObject();try {JSONObject jsonObject JSON.parseObject(Objects.requireNonNull(session).executeJson(stmt));JSONObject errors jsonObject.getJSONArray(NebulaConstant.NebulaJson.ERRORS.getKey()).getJSONObject(0);restJson.put(NebulaConstant.NebulaJson.CODE.getKey(), errors.getInteger(NebulaConstant.NebulaJson.CODE.getKey()));if (errors.getInteger(NebulaConstant.NebulaJson.CODE.getKey()) ! 0) {restJson.put(NebulaConstant.NebulaJson.MESSAGE.getKey(), errors.getString(NebulaConstant.NebulaJson.MESSAGE.getKey()));return restJson;}JSONObject results jsonObject.getJSONArray(NebulaConstant.NebulaJson.RESULTS.getKey()).getJSONObject(0);JSONArray columns results.getJSONArray(NebulaConstant.NebulaJson.COLUMNS.getKey());if (Objects.isNull(columns)) {return restJson;}JSONArray data results.getJSONArray(NebulaConstant.NebulaJson.DATA.getKey());if (Objects.isNull(data)) {return restJson;}ListJSONObject resultList new ArrayList();data.stream().map(d - (JSONObject) d).forEach(d - {JSONArray row d.getJSONArray(NebulaConstant.NebulaJson.ROW.getKey());JSONObject map new JSONObject();for (int i 0; i columns.size(); i) {map.put(columns.getString(i), row.get(i));}resultList.add(map);});restJson.put(NebulaConstant.NebulaJson.DATA.getKey(), resultList);} catch (Exception e) {restJson.put(NebulaConstant.NebulaJson.CODE.getKey(), NebulaConstant.ERROR_CODE);restJson.put(NebulaConstant.NebulaJson.MESSAGE.getKey(), e.toString());log.error(nebula execute err, e);}return restJson;}} 测试 package com.example.demo;import com.example.demo.nebula.NebulaResult; import com.example.demo.nebula.NebulaTemplate; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;SpringBootTest class DemoApplicationTests {AutowiredNebulaTemplate nebulaTemplate;Testpublic void test1(){String sql SHOW HOSTS;;NebulaResult nebulaResult nebulaTemplate.executeObject(sql);System.out.println(nebulaResult);}}
http://www.zqtcl.cn/news/87009/

相关文章:

  • 温州建设网站公司wordpress单页怎么加留言
  • 做视频网站收费侵权吗织梦怎么上传wordpress
  • 聊城住房和城乡建设厅网站中交路桥建设有限公司是国企还是央企
  • 深圳建设网站制作公司北京建网站公司飞沐
  • 天水网站建设博客企业网站的设计风格
  • 框架做网站指的是陕西建设分行网站
  • 推广网站和品牌网站的区别golang wordpress
  • 宿松 做网站长沙简单的网站建设
  • 使用门户网站网络推广方法好搜网站提交入口
  • 网站换关键词中国建筑校园招聘官网
  • 苏州做网站公司乛 苏州聚尚网络郑州小型网站制作公司
  • 培训网站欣赏怎么做网站的分类目录
  • 莆田高端网站建设移动端开发语言
  • 金乡县网站开发甘肃谷歌seo
  • 淘宝内部优惠券网站怎么做惠州市建设局建工办网站
  • 网站为什么会被挂马抚州市建设局网站查询
  • 北京网站设计公司价格用vue.js做网站
  • 新十条优化措施网站建设优化培训
  • 南京模板建站定制网站电子商务平台开发
  • 做网站是用的那个开发软件网页qq登录入口官网官方
  • 淘宝客做网站卖什么好东莞电商页面设计公司
  • 重庆网站推广公司哪家好产品设计怎么写
  • 网站做优化每天一定要更新网站目录结构怎么做
  • 北京手机网站设计电话wordpress的极限
  • 外贸黄页网站贺岁币在建设银行那个网站预约
  • 学做卤菜网站成都建设网站价格
  • Dedecms 手机网站示例爱站关键词挖掘查询工具
  • 番禺区网站优化广州 网站设计
  • 乡镇医院网站建设做网站用什么软件?
  • 怎样免费注册自己网站的域名网站建设与规划案例