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

400元做网站送网推怎样制作印章

400元做网站送网推,怎样制作印章,wordpress 卡片式,wordpress中文读音前言 图形数据库是专门用于存储图形数据的数据库#xff0c;它使用图形模型来存储数据#xff0c;并且支持复杂的图形查询。常见的图形数据库有Neo4j、OrientDB等。 Neo4j是用Java实现的开源NoSQL图数据库#xff0c;本篇博客介绍如何在SpringBoot中使用Neo4j图数据库… 前言 图形数据库是专门用于存储图形数据的数据库它使用图形模型来存储数据并且支持复杂的图形查询。常见的图形数据库有Neo4j、OrientDB等。 Neo4j是用Java实现的开源NoSQL图数据库本篇博客介绍如何在SpringBoot中使用Neo4j图数据库如何进行简单的增删改查以及如何进行复杂的查询。 本篇博客相关代码的git网址如下 https://gitee.com/pet365/spring-boot-neo4j 关于Neo4j的博客文章如下 图数据库Neo4j——Neo4j简介、数据结构 Docker版本的部署安装 Cypher语句的入门 目录 前言引出springBoot整合1、引入依赖2、配置文件3、实体类定义4、dao继承Neo4jRepository复杂查询最短路径查询最小成本查询 总结 引出 1.Neo4j是用Java实现的开源NoSQL图数据库; 2.SpringBoot使用Neo4j继承Neo4jRepository进行简单增删改查 3.使用Neo4jClient进行复杂的查询 springBoot整合 1、引入依赖 !-- neo4j的包--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-neo4j/artifactId/dependency2、配置文件 server:port: 9902 logging:level:org.springframework.data.neo4j: debug spring:application:name: spring-neo4jdata:neo4j:database: neo4jneo4j:authentication:username: neo4jpassword: neo4j123uri: neo4j://192.168.150.101:76873、实体类定义 提取抽象类 不同的节点类网点、一级转运中心、二级转运中心 4、dao继承Neo4jRepository 进行自定义查询 KeywordSampleCypher snippetAfterfindByLaunchDateAfter(Date date)n.launchDate dateBeforefindByLaunchDateBefore(Date date)n.launchDate dateContaining (String)findByNameContaining(String namePart)n.name CONTAINS namePartContaining (Collection)findByEmailAddressesContains(Collection addresses) findByEmailAddressesContains(String address)ANY(collectionFields IN [addresses] WHERE collectionFields in n.emailAddresses) ANY(collectionFields IN address WHERE collectionFields in n.emailAddresses)InfindByNameIn(Iterable names)n.name IN namesBetweenfindByScoreBetween(double min, double max) findByScoreBetween(Range range)n.score min AND n.score max Depending on the Range definition n.score min AND n.score max or n.score min AND n.score maxStartingWithfindByNameStartingWith(String nameStart)n.name STARTS WITH nameStartEndingWithfindByNameEndingWith(String nameEnd)n.name ENDS WITH nameEndExistsfindByNameExists()EXISTS(n.name)TruefindByActivatedIsTrue()n.activated trueFalsefindByActivatedIsFalse()NOT(n.activated true)IsfindByNameIs(String name)n.name nameNotNullfindByNameNotNull()NOT(n.name IS NULL)NullfindByNameNull()n.name IS NULLGreaterThanfindByScoreGreaterThan(double score)n.score scoreGreaterThanEqualfindByScoreGreaterThanEqual(double score)n.score scoreLessThanfindByScoreLessThan(double score)n.score scoreLessThanEqualfindByScoreLessThanEqual(double score)n.score scoreLikefindByNameLike(String name)n.name ~ nameNotLikefindByNameNotLike(String name)NOT(n.name ~ name)NearfindByLocationNear(Distance distance, Point point)distance( point(n),point({latitude:lat, longitude:lon}) ) distanceRegexfindByNameRegex(String regex)n.name ~ regexAndfindByNameAndDescription(String name, String description)n.name name AND n.description descriptionOrfindByNameOrDescription(String name, String description)n.name name OR n.description description (Cannot be used to OR nested properties) package com.tianju.mapper;import com.tianju.entity.AgencyEntity; import org.mapstruct.Mapper; import org.springframework.data.neo4j.repository.Neo4jRepository;/*** 网点的mapper比如菜鸟驿站*/ Mapper public interface AgencyMapper extends Neo4jRepositoryAgencyEntity,Long {/*** 根据bid 查询* param bid 业务id* return 网点数据*/AgencyEntity findByBid(Long bid);/*** 根据bid删除** param bid 业务id* return 删除的数据条数*/Long deleteByBid(Long bid); } 复杂查询 最短路径查询 //查询两个网点之间最短路径查询深度最大为10 MATCH path shortestPath((n:AGENCY) -[*..10]-(m:AGENCY))WHERE n.name 北京市昌平区定泗路 AND m.name 上海市浦东新区南汇RETURN pathpackage com.tianju.mapper.impl;import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.db.meta.Column; import com.tianju.dto.OrganDTO; import com.tianju.dto.TransportLineNodeDTO; import com.tianju.entity.AgencyEntity; import com.tianju.enums.OrganTypeEnum; import com.tianju.mapper.TransportLineRepository; import org.neo4j.driver.internal.InternalPoint2D; import org.neo4j.driver.types.Path; import org.neo4j.driver.types.Relationship; import org.springframework.data.neo4j.core.schema.Node; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.neo4j.core.Neo4jClient; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component;import java.util.Map; import java.util.Optional;Component public class TransportLineRepositoryImpl implements TransportLineRepository {Autowiredprivate Neo4jClient neo4jClient;/*** 查询最短路线* param start 开始网点* param end 结束网点* return*/Overridepublic TransportLineNodeDTO findShortestPath(AgencyEntity start, AgencyEntity end) {// 获取网点数据在Neo4j中的类型 Node(AGENCY) Node(OLT)String type AgencyEntity.class.getAnnotation(Node.class).value()[0];// 构造Sql语句 $startId // String cql MATCH path shortestPath((n:AGENCY) -[*..10]-(m:AGENCY))\n // WHERE n.bid $startId AND m.bid $endId\n // RETURN path;String cql StrUtil.format(MATCH path shortestPath((n:{}) -[*..10]-(m:{})) WHERE n.bid $startId AND m.bid $endId RETURN path,type,type);// 执行自定义查询Neo4jClient.RecordFetchSpecTransportLineNodeDTO recordFetchSpec neo4jClient.query(cql).bind(start.getBid()).to(startId) // 替换 $startId.bind(end.getBid()).to(endId) // 替换 $endId.fetchAs(TransportLineNodeDTO.class) // 设置响应类型指定为 TransportLineNodeDTO 类型.mappedBy((typeSystem, record) - { // 设置结果集映射Path path record.get(0).asPath();// 得到第一条路线TransportLineNodeDTO transportLineNodeDTO new TransportLineNodeDTO();path.nodes().forEach(node - { // 将每个节点信息封装成一个 OrganDto// 获得节点的 键值对 address: 上海市转运中心bid8002MapString, Object map node.asMap();// {name北京市昌平区定泗路,// locationPoint{srid4326, x116.37212849638287, y40.11765281246394},// address北七家镇定泗路苍龙街交叉口, bid100280, phone010-86392987}System.out.println(map: map);// 把键值对转换成对象 OrganDTOOrganDTO organDTO BeanUtil.toBeanIgnoreError(map, OrganDTO.class);// organDTO:// OrganDTO(id100280, name北京市昌平区定泗路, typenull, phone010-86392987,// address北七家镇定泗路苍龙街交叉口, latitudenull, longitudenull)// type,latitude,longitude 没有映射成功System.out.println(organDTO: organDTO);// 获得标签的名称 OLT,TLT,String first CollUtil.getFirst(node.labels());// 根据OLT获得枚举类型 OLT(1, 一级转运中心),OrganTypeEnum organTypeEnum OrganTypeEnum.valueOf(first);// 再获得枚举类型的 code 1、2、3organDTO.setType(organTypeEnum.getCode()); // 设置类型的映射// 经纬度 location: point({srid:4326, x:121.59815370294322, y:31.132409729356993})InternalPoint2D location MapUtil.get(map, location, InternalPoint2D.class); // 经纬度 BeanUtil.getProperty(map.get(location),x);organDTO.setLatitude(location.x()); // 设置经纬度映射organDTO.setLongitude(location.y()); // 经纬度映射// OrganDTO(id100280, name北京市昌平区定泗路, type3,// phone010-86392987, address北七家镇定泗路苍龙街交叉口,// latitude116.37212849638287, longitude40.11765281246394)System.out.println(organDTO: organDTO);transportLineNodeDTO.getNodeList().add(organDTO);});System.out.println(transportLineNodeDTO: transportLineNodeDTO);path.relationships().forEach(relationship - {// 路径下面的关系MapString, Object map relationship.asMap();Double cost MapUtil.get(map, cost, Double.class);transportLineNodeDTO.setCost(cost transportLineNodeDTO.getCost());});System.out.println(transportLineNodeDTO: transportLineNodeDTO);return transportLineNodeDTO;});OptionalTransportLineNodeDTO one recordFetchSpec.one(); // Optional1.8提供的可以处理null的情况return one.orElse(null); // 如果为null就返回null如果不是null就返回结果} }最小成本查询 package com.tianju.mapper.impl;import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.db.meta.Column; import com.tianju.dto.OrganDTO; import com.tianju.dto.TransportLineNodeDTO; import com.tianju.entity.AgencyEntity; import com.tianju.enums.OrganTypeEnum; import com.tianju.mapper.TransportLineRepository; import org.neo4j.driver.internal.InternalPoint2D; import org.neo4j.driver.types.Path; import org.neo4j.driver.types.Relationship; import org.springframework.data.neo4j.core.schema.Node; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.neo4j.core.Neo4jClient; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component;import java.util.Map; import java.util.Optional;Component public class TransportLineRepositoryImpl implements TransportLineRepository {Autowiredprivate Neo4jClient neo4jClient;Overridepublic TransportLineNodeDTO findCostLeastPath(AgencyEntity start, AgencyEntity end) {String type AgencyEntity.class.getAnnotation(Node.class).value()[0];String cqlB MATCH path (n:{}) -[*..10]-(m:{}) WHERE n.bid $startId AND m.bid $endId UNWIND relationships(path) AS r WITH sum(r.cost) AS cost, path RETURN path ORDER BY cost ASC, LENGTH(path) ASC LIMIT 1;String cql StrUtil.format(cqlB, type,type);OptionalTransportLineNodeDTO one neo4jClient.query(cql).bind(start.getBid()).to(startId).bind(end.getBid()).to(endId).fetchAs(TransportLineNodeDTO.class).mappedBy(((typeSystem, record) - {Path path record.get(0).asPath();TransportLineNodeDTO transportLineNodeDTO new TransportLineNodeDTO();path.nodes().forEach(node - {MapString, Object map node.asMap();OrganDTO organDTO BeanUtil.toBeanIgnoreError(map, OrganDTO.class);// 获得标签的名称 OLT,TLT,String first CollUtil.getFirst(node.labels());// 根据OLT获得枚举类型 OLT(1, 一级转运中心),OrganTypeEnum organTypeEnum OrganTypeEnum.valueOf(first);// 再获得枚举类型的 code 1、2、3organDTO.setType(organTypeEnum.getCode()); // 设置类型的映射// 经纬度 location: point({srid:4326, x:121.59815370294322, y:31.132409729356993})InternalPoint2D location MapUtil.get(map, location, InternalPoint2D.class); // 经纬度 BeanUtil.getProperty(map.get(location),x);organDTO.setLatitude(location.x()); // 设置经纬度映射organDTO.setLongitude(location.y()); // 经纬度映射transportLineNodeDTO.getNodeList().add(organDTO);});path.relationships().forEach(relationship - {// 路径下面的关系MapString, Object map relationship.asMap();Double cost MapUtil.get(map, cost, Double.class);transportLineNodeDTO.setCost(cost transportLineNodeDTO.getCost());});return transportLineNodeDTO;})).one();return one.orElse(null);}private void findShortestPathMy(){String cql MATCH path shortestPath((n:AGENCY) -[*..10]-(m:AGENCY)) WHERE n.bid 210127 AND m.bid 100260 RETURN path;// 执行自定义查询Neo4jClient.UnboundRunnableSpec query neo4jClient.query(cql);ThreadPoolTaskExecutor threadPoolTaskExecutor new ThreadPoolTaskExecutor();} }总结 1.Neo4j是用Java实现的开源NoSQL图数据库; 2.SpringBoot使用Neo4j继承Neo4jRepository进行简单增删改查 3.使用Neo4jClient进行复杂的查询
http://www.zqtcl.cn/news/23651/

相关文章:

  • 怎么给自己的网站做seo头条网站开发
  • 在百度做橱柜网站哈尔滨正规制作网站公司
  • 枣庄手机网站建设公司建筑设计软件哪个好用
  • 住房和城乡建设部网站建造师网页设计你若安好便是晴天作业
  • 建设网站实施条件广州网站建设找哪家
  • 网站开发总结与收获网站开发技术岗位职责
  • 请简述网站建设的方法discuz 企业网站
  • 指示灯具网站建设网站设计太原
  • 计算机网站建设待遇北京网站优化软件
  • 做网站服务器需要自己提供吗西双版纳今天又封了
  • 在国外做购物网站网站建设报告书
  • 做网站多少钱google万网云虚拟主机上传网站
  • 价格优化网站建设广州白云机场网站建设
  • wordpress 集成安装包网站优化需要做什么
  • 网站开发需会的课程网页制作素材按钮图标
  • 宜昌建站seo短视频网页入口引流
  • wordpress上传图片不显示合肥seo整站优化网站
  • 洛阳霞光做网站公司如何制作一个公司网站
  • 软件公司网站建设wordpress地址栏显示ip
  • 外汇交易网站建设制作excel表格全步骤
  • 建筑公司网站需求网络公司网站源码 网络建设工作室网站模板 织梦广告设计公司源码
  • 政务网站建设情况汇报最美情侣视频免费观看完整版高清
  • 北京金创网站建设印刷网站开发策划书
  • 如何用个人电脑做网站互联网开发工程师证书
  • 企业建网站能不能一次进费用xyz域名免费注册
  • 百度seo优化网站开发公司保交房专班成员组成
  • 高端网站建设要多少钱公司运营方案模板
  • 深圳网站设计有哪些小程序网
  • 传媒公司营销网站上海人才网官网登录入口
  • 网站主页流动图片怎么做广州品牌网站设计