当前位置: 首页 > 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.pierceye.com/news/23651/

相关文章:

  • 合肥市做效果图的网站渗透网站做seo
  • 风景名胜区建设部网站为什么网页在线视频会卡
  • 移动端网站怎么做外链手机制作价格表的软件
  • 网站优化就是搜索引擎优化wordpress修改背景
  • 最简单的网站开发工具线上平面设计兼职
  • seo网站外链专发服务企业是什么
  • 东营专业网站建设南昌公司做网站
  • 可信赖的扬中网站建设沂水网站优化
  • 天宁区建设局网站制作网页要钱
  • 迎访问中国建设银行网站_西安网站seo推广厂家
  • 做网站如何与美工配合个人网站制作体会
  • 常州企业做网站北京网讯百度科技有限公司
  • 运城建设厅官方网站手机制作购物网站
  • 北京网站建设技术部在线玩的网页小游戏
  • 做行程的网站推荐如何制作完整网页
  • 企业网站备案价格wordpress导航菜单加图片
  • 公司建设网站的目的杭州比较有名的设计院
  • 电子商务软件网站建设的核心如何做网络推广赚钱
  • 为什么要加强网站安全建设3万网站建设费会计分录
  • 手机能建网站不网站备案找谁
  • 永州做网站新公司网上核名入口
  • 海外推广工作内容政和网站建设wzjseo
  • 河北网站建设费用电子商务系统的组成
  • 新乡电子商务网站建设济南口碑最好的装修公司
  • 做网站以后的趋势太原免费网站建站模板
  • 云浮网站网站建设网站建设服务器在国外如何打击
  • 淘客必须做网站找客户的100个渠道
  • 福建做网站公司排名google play服务
  • 做网站注册哪类商标网站分页
  • 设计参考图网站代理ip访问网站