Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
neo4jRelation
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qiuchaofei
neo4jRelation
Commits
b4ced847
Commit
b4ced847
authored
Sep 14, 2021
by
qiuchaofei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.添加neo4j driver的配置,2使用cypher语句查询关系,3添加接口:传入元数据id与层数,返回数据。4添加接口:返回所有关系类型。
parent
31118165
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
295 additions
and
13 deletions
+295
-13
pom.xml
pom.xml
+12
-0
Neo4jConfig.java
...ymobile/metadata/metadataRelation/config/Neo4jConfig.java
+30
-0
MetaDataController.java
...adata/metadataRelation/controller/MetaDataController.java
+30
-3
Edge.java
...obile/metadata/metadataRelation/pojo/returnBean/Edge.java
+4
-2
Node.java
...obile/metadata/metadataRelation/pojo/returnBean/Node.java
+2
-2
MetadataRepository.java
...data/metadataRelation/respository/MetadataRepository.java
+13
-2
IBaseRelationshipService.java
...ta/metadataRelation/service/IBaseRelationshipService.java
+5
-0
IMetadataService.java
...e/metadata/metadataRelation/service/IMetadataService.java
+5
-1
BaseRelationshipServiceImpl.java
...ataRelation/service/impl/BaseRelationshipServiceImpl.java
+41
-0
MetadataServiceImpl.java
...ta/metadataRelation/service/impl/MetadataServiceImpl.java
+99
-2
MongoDbServiceImpl.java
...ata/metadataRelation/service/impl/MongoDbServiceImpl.java
+16
-1
Neo4jTool.java
...m/keymobile/metadata/metadataRelation/util/Neo4jTool.java
+37
-0
application-dev.yml
src/main/resources/application-dev.yml
+1
-0
No files found.
pom.xml
View file @
b4ced847
...
@@ -143,6 +143,18 @@
...
@@ -143,6 +143,18 @@
<artifactId>
jasypt-spring-boot-starter
</artifactId>
<artifactId>
jasypt-spring-boot-starter
</artifactId>
<version>
3.0.3
</version>
<version>
3.0.3
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.steelbridgelabs.oss
</groupId>
<artifactId>
neo4j-gremlin-bolt
</artifactId>
<version>
0.3.1
</version>
</dependency>
<dependency>
<groupId>
org.neo4j.driver
</groupId>
<artifactId>
neo4j-java-driver
</artifactId>
<version>
1.7.5
</version>
</dependency>
</dependencies>
</dependencies>
<dependencyManagement>
<dependencyManagement>
...
...
src/main/java/com/keymobile/metadata/metadataRelation/config/Neo4jConfig.java
View file @
b4ced847
package
com
.
keymobile
.
metadata
.
metadataRelation
.
config
;
package
com
.
keymobile
.
metadata
.
metadataRelation
.
config
;
import
org.neo4j.driver.v1.AuthTokens
;
import
org.neo4j.driver.v1.Driver
;
import
org.neo4j.driver.v1.GraphDatabase
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
@Configuration
@Configuration
public
class
Neo4jConfig
{
public
class
Neo4jConfig
{
@Value
(
"${spring.data.neo4j.url}"
)
private
String
neo4jUrl
;
@Value
(
"${spring.data.neo4j.username}"
)
private
String
neo4jUsername
;
@Value
(
"${spring.data.neo4j.password}"
)
private
String
neo4jPassword
;
private
static
Driver
driver
;
@Bean
public
Driver
getNeo4jConnection
()
{
if
(
driver
!=
null
){
}
else
{
driver
=
GraphDatabase
.
driver
(
neo4jUrl
,
AuthTokens
.
basic
(
neo4jUsername
,
neo4jPassword
));
}
return
driver
;
}
}
}
src/main/java/com/keymobile/metadata/metadataRelation/controller/MetaDataController.java
View file @
b4ced847
...
@@ -78,6 +78,33 @@ public class MetaDataController {
...
@@ -78,6 +78,33 @@ public class MetaDataController {
return
metadataService
.
finAllMetaData
();
return
metadataService
.
finAllMetaData
();
}
}
/**
* 查询所有的关系类型
*/
@RequestMapping
(
path
=
"/listAllRelationType"
,
method
=
RequestMethod
.
GET
)
public
List
<
String
>
getAllRelationType
()
{
return
baseRelationshipService
.
findAllRelationTypes
();
}
/**
* 传入元数据id,显示的层数,查找出与该元数据有关系的数据
*/
@RequestMapping
(
path
=
"/getNodeByDataId"
,
method
=
RequestMethod
.
GET
)
public
ReturnReslult
getNodeByDataId
(
String
metadataId
,
int
depth
)
{
return
metadataService
.
findNodeByDataId
(
metadataId
,
depth
);
}
/**
* 传入元数据id,查找出与该元数据有关系的数据
*/
@RequestMapping
(
path
=
"/getNodeByDataName"
,
method
=
RequestMethod
.
GET
)
public
List
<
MetaData
>
getNodeByDataName
(
String
metadataName
)
{
return
metadataService
.
findNodeByName
(
metadataName
);
}
/**
/**
* 添加元数据的接口
* 添加元数据的接口
...
@@ -92,13 +119,13 @@ public class MetaDataController {
...
@@ -92,13 +119,13 @@ public class MetaDataController {
}
}
/**
/**
* 同步元数据关系的接口,从mongo读取关系,存入到neo4j中
* 同步元数据关系的接口,
传入一个环境名称(catalognName),
从mongo读取关系,存入到neo4j中
* @return
* @return
*/
*/
@RequestMapping
(
path
=
"/syschroRelationFromMongo"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
path
=
"/syschroRelationFromMongo"
,
method
=
RequestMethod
.
GET
)
public
String
syschroRelationFromMongo
(){
public
String
syschroRelationFromMongo
(
String
catalogName
){
String
flag
=
"success"
;
String
flag
=
"success"
;
metadataService
.
syschroRelationFromMongo
();
metadataService
.
syschroRelationFromMongo
(
catalogName
);
return
flag
;
return
flag
;
}
}
...
...
src/main/java/com/keymobile/metadata/metadataRelation/pojo/returnBean/Edge.java
View file @
b4ced847
...
@@ -6,6 +6,10 @@ public class Edge {
...
@@ -6,6 +6,10 @@ public class Edge {
private
String
edgeId
;
private
String
edgeId
;
private
String
fromId
;
private
String
fromId
;
private
String
toId
;
private
String
toId
;
private
String
type
;
public
String
getEdgeId
()
{
public
String
getEdgeId
()
{
return
edgeId
;
return
edgeId
;
...
@@ -39,7 +43,5 @@ public class Edge {
...
@@ -39,7 +43,5 @@ public class Edge {
this
.
type
=
type
;
this
.
type
=
type
;
}
}
private
String
type
;
}
}
src/main/java/com/keymobile/metadata/metadataRelation/pojo/returnBean/Node.java
View file @
b4ced847
...
@@ -2,7 +2,8 @@ package com.keymobile.metadata.metadataRelation.pojo.returnBean;
...
@@ -2,7 +2,8 @@ package com.keymobile.metadata.metadataRelation.pojo.returnBean;
public
class
Node
{
public
class
Node
{
String
id
;
private
String
name
;
private
String
id
;
public
String
getId
()
{
public
String
getId
()
{
return
id
;
return
id
;
...
@@ -20,6 +21,5 @@ public class Node {
...
@@ -20,6 +21,5 @@ public class Node {
this
.
name
=
name
;
this
.
name
=
name
;
}
}
String
name
;
}
}
src/main/java/com/keymobile/metadata/metadataRelation/respository/MetadataRepository.java
View file @
b4ced847
package
com
.
keymobile
.
metadata
.
metadataRelation
.
respository
;
package
com
.
keymobile
.
metadata
.
metadataRelation
.
respository
;
import
com.keymobile.metadata.metadataRelation.pojo.MetaData
;
import
com.keymobile.metadata.metadataRelation.pojo.MetaData
;
import
feign.Param
;
import
org.springframework.data.neo4j.annotation.Query
;
import
org.springframework.data.elasticsearch.annotations.Query
;
import
org.springframework.data.neo4j.repository.Neo4jRepository
;
import
org.springframework.data.neo4j.repository.Neo4jRepository
;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
@Repository
public
interface
MetadataRepository
extends
Neo4jRepository
<
MetaData
,
Long
>
{
public
interface
MetadataRepository
extends
Neo4jRepository
<
MetaData
,
Long
>
{
MetaData
findMetadataByName
(
String
name
);
MetaData
findMetadataByName
(
String
name
);
/**
* @Query("MATCH (n : MetaData { metadataId : $startId }), (n1 : MetaData { metadataId : $endId }), p=(n)-[]-(n1) return p")
* List<OutputRelation> findOutputRelationship(@Param("startId") String startId, @Param("endId") String endId);
* @param dataName
* @return
*/
@Query
(
"match data=(na:MetaData{name:{0}})<-[rel*1..3]->(nb:MetaData) return data"
)
List
<
MetaData
>
findMetaData
(
@Param
(
"dataName"
)
String
dataName
,
@Param
(
"n"
)
int
n
);
}
}
src/main/java/com/keymobile/metadata/metadataRelation/service/IBaseRelationshipService.java
View file @
b4ced847
...
@@ -15,6 +15,11 @@ public interface IBaseRelationshipService {
...
@@ -15,6 +15,11 @@ public interface IBaseRelationshipService {
List
<
BaseRelationship
>
findAllRelation
();
List
<
BaseRelationship
>
findAllRelation
();
/**
/**
* 查找所有的关系
*/
List
<
String
>
findAllRelationTypes
();
/**
* @desc 添加关系
* @desc 添加关系
* @param relationship
* @param relationship
*/
*/
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/IMetadataService.java
View file @
b4ced847
...
@@ -2,12 +2,16 @@ package com.keymobile.metadata.metadataRelation.service;
...
@@ -2,12 +2,16 @@ package com.keymobile.metadata.metadataRelation.service;
import
com.keymobile.metadata.metadataRelation.pojo.BaseRelationship
;
import
com.keymobile.metadata.metadataRelation.pojo.BaseRelationship
;
import
com.keymobile.metadata.metadataRelation.pojo.MetaData
;
import
com.keymobile.metadata.metadataRelation.pojo.MetaData
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult
;
import
org.springframework.data.mongodb.core.query.Meta
;
import
org.springframework.data.mongodb.core.query.Meta
;
import
java.util.List
;
import
java.util.List
;
public
interface
IMetadataService
{
public
interface
IMetadataService
{
List
<
MetaData
>
findNodeByName
(
String
dataName
);
ReturnReslult
findNodeByDataId
(
String
metadataId
,
int
depth
);
List
<
MetaData
>
finAllMetaData
();
List
<
MetaData
>
finAllMetaData
();
...
@@ -23,7 +27,7 @@ public interface IMetadataService {
...
@@ -23,7 +27,7 @@ public interface IMetadataService {
*/
*/
MetaData
addMetadataByName
(
String
name
);
MetaData
addMetadataByName
(
String
name
);
void
syschroRelationFromMongo
();
void
syschroRelationFromMongo
(
String
catalogName
);
/**
/**
* 添加元数据对象
* 添加元数据对象
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/BaseRelationshipServiceImpl.java
View file @
b4ced847
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
.
impl
;
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
.
impl
;
import
com.keymobile.metadata.metadataRelation.config.Neo4jConfig
;
import
com.keymobile.metadata.metadataRelation.pojo.*
;
import
com.keymobile.metadata.metadataRelation.pojo.*
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.Edge
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.Edge
;
import
com.keymobile.metadata.metadataRelation.respository.*
;
import
com.keymobile.metadata.metadataRelation.respository.*
;
import
com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService
;
import
com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService
;
import
org.neo4j.driver.v1.Driver
;
import
org.neo4j.driver.v1.Record
;
import
org.neo4j.driver.v1.Session
;
import
org.neo4j.driver.v1.StatementResult
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -14,6 +21,9 @@ import java.util.List;
...
@@ -14,6 +21,9 @@ import java.util.List;
@Service
@Service
public
class
BaseRelationshipServiceImpl
implements
IBaseRelationshipService
{
public
class
BaseRelationshipServiceImpl
implements
IBaseRelationshipService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
BaseRelationshipServiceImpl
.
class
);
@Autowired
@Autowired
BaseRelationshipRepository
refRepository
;
BaseRelationshipRepository
refRepository
;
@Autowired
@Autowired
...
@@ -60,6 +70,37 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
...
@@ -60,6 +70,37 @@ public class BaseRelationshipServiceImpl implements IBaseRelationshipService {
}
}
@Override
@Override
public
List
<
String
>
findAllRelationTypes
()
{
List
<
String
>
relationTypes
=
new
ArrayList
<>();
Neo4jConfig
neo4jConfig
=
new
Neo4jConfig
();
Driver
neo4jConnection
=
neo4jConfig
.
getNeo4jConnection
();
Session
session
=
neo4jConnection
.
session
();
String
cypher
=
" MATCH (n:MetaData)-[r]->() RETURN id(STARTNODE(r)) as startId,id(endNode(r)) as endId, type(r) as name"
;
logger
.
info
(
"cypher:"
+
cypher
);
StatementResult
result
=
session
.
run
(
cypher
);
while
(
result
.
hasNext
())
{
Record
record
=
(
Record
)
result
.
next
();
Long
startId
=
record
.
get
(
"startId"
).
asLong
();
Long
endId
=
record
.
get
(
"endId"
).
asLong
();
String
name
=
record
.
get
(
"name"
).
asString
();
// if (name == null || name.equals("null")) {
// name = startId + "-" + "relation" + "-" + endId;
// } else {
// name = startId + "-" + name + "-" + endId;
// }
if
(!
relationTypes
.
contains
(
name
)){
relationTypes
.
add
(
name
);
}
}
return
relationTypes
;
}
@Override
public
BaseRelationship
addRelationship
(
BaseRelationship
relationship
)
{
public
BaseRelationship
addRelationship
(
BaseRelationship
relationship
)
{
return
refRepository
.
save
(
relationship
);
return
refRepository
.
save
(
relationship
);
}
}
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/MetadataServiceImpl.java
View file @
b4ced847
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
.
impl
;
package
com
.
keymobile
.
metadata
.
metadataRelation
.
service
.
impl
;
import
com.keymobile.metadata.metadataRelation.config.Neo4jConfig
;
import
com.keymobile.metadata.metadataRelation.pojo.*
;
import
com.keymobile.metadata.metadataRelation.pojo.*
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.Edge
;
import
com.keymobile.metadata.metadataRelation.pojo.returnBean.ReturnReslult
;
import
com.keymobile.metadata.metadataRelation.remote.MetadataRepoRemoteService
;
import
com.keymobile.metadata.metadataRelation.remote.MetadataRepoRemoteService
;
import
com.keymobile.metadata.metadataRelation.respository.*
;
import
com.keymobile.metadata.metadataRelation.respository.*
;
import
com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService
;
import
com.keymobile.metadata.metadataRelation.service.IBaseRelationshipService
;
import
com.keymobile.metadata.metadataRelation.service.IMetadataService
;
import
com.keymobile.metadata.metadataRelation.service.IMetadataService
;
import
com.keymobile.metadata.metadataRelation.util.Neo4jTool
;
import
org.neo4j.driver.v1.*
;
import
org.neo4j.driver.v1.types.Node
;
import
org.neo4j.driver.v1.types.Path
;
import
org.neo4j.driver.v1.types.Relationship
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
sun.plugin.javascript.navig4.LayerArray
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -15,6 +27,7 @@ import java.util.Map;
...
@@ -15,6 +27,7 @@ import java.util.Map;
@Service
@Service
public
class
MetadataServiceImpl
implements
IMetadataService
{
public
class
MetadataServiceImpl
implements
IMetadataService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
MetadataServiceImpl
.
class
);
@Autowired
@Autowired
private
MetadataRepository
metadataRepository
;
private
MetadataRepository
metadataRepository
;
@Autowired
@Autowired
...
@@ -35,6 +48,90 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -35,6 +48,90 @@ public class MetadataServiceImpl implements IMetadataService {
@Autowired
@Autowired
private
MetadataRepoRemoteService
metadataRepoRemoteService
;
private
MetadataRepoRemoteService
metadataRepoRemoteService
;
@Override
public
List
<
MetaData
>
findNodeByName
(
String
dataName
)
{
return
metadataRepository
.
findMetaData
(
dataName
,
3
);
}
@Override
public
ReturnReslult
findNodeByDataId
(
String
metadataId
,
int
depth
)
{
ReturnReslult
returnReslult
=
new
ReturnReslult
();
// List<MetaData> metaDataList = metadataRepository.findMetaData(metadataId,3);
List
<
MetaData
>
metaDataList
=
new
ArrayList
<>();
Neo4jConfig
neo4jConfig
=
new
Neo4jConfig
();
Driver
neo4jConnection
=
neo4jConfig
.
getNeo4jConnection
();
Session
session
=
neo4jConnection
.
session
();
String
cypher
=
"match data=(na:MetaData{metadataId:'"
+
metadataId
+
"'})<-[*1.."
+
depth
+
"]->(nb:MetaData) return data"
;
logger
.
info
(
"cypher:"
+
cypher
);
StatementResult
result
=
session
.
run
(
cypher
);
while
(
result
.
hasNext
()
){
Record
record
=
result
.
next
();
List
<
Value
>
values
=
record
.
values
();
for
(
Value
value
:
values
)
{
System
.
out
.
println
(
";;"
+
value
.
type
());
if
(
value
.
type
().
name
().
equals
(
"PATH"
))
{
Path
p
=
value
.
asPath
();
Iterable
<
Node
>
nodes
=
p
.
nodes
();
Map
<
Long
,
MetaData
>
nodesMap
=
new
HashMap
<>();
for
(
Node
node
:
nodes
)
{
Map
<
String
,
Object
>
stringObjectMap
=
node
.
asMap
();
MetaData
metaData
=
new
MetaData
();
Neo4jTool
.
transMap2Bean
(
stringObjectMap
,
metaData
);
// metaDataList.add(data);
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
returnBean
.
Node
returnNode
=
new
com
.
keymobile
.
metadata
.
metadataRelation
.
pojo
.
returnBean
.
Node
();
returnNode
.
setId
(
metaData
.
getMetadataId
());
returnNode
.
setName
(
metaData
.
getName
());
returnReslult
.
getNodes
().
add
(
returnNode
);
nodesMap
.
put
(
node
.
id
(),
metaData
);
}
Iterable
<
Relationship
>
relationships
=
p
.
relationships
();
for
(
Relationship
relationship
:
relationships
)
{
Long
startID
=
relationship
.
startNodeId
();
Long
endID
=
relationship
.
endNodeId
();
String
rType
=
relationship
.
type
();
/**
* asMap 相当于 节点的properties属性信息
*/
// relationship.id();
//
Edge
edge
=
new
Edge
();
String
relationName
=
nodesMap
.
get
(
startID
).
getMetadataId
()
+
"-"
+
rType
+
"-"
+
nodesMap
.
get
(
endID
).
getMetadataId
();
edge
.
setEdgeId
(
String
.
valueOf
(
relationship
.
id
()));
String
startMetaId
=
""
;
String
endMEtaId
=
""
;
if
(
nodesMap
.
containsKey
(
startID
)){
startMetaId
=
nodesMap
.
get
(
startID
).
getMetadataId
();
}
if
(
nodesMap
.
containsKey
(
endID
)){
endMEtaId
=
nodesMap
.
get
(
endID
).
getMetadataId
();
}
edge
.
setFromId
(
startMetaId
);
edge
.
setToId
(
endMEtaId
);
edge
.
setType
(
rType
);
returnReslult
.
getEdges
().
add
(
edge
);
}
}
}
}
return
returnReslult
;
}
@Override
@Override
public
List
<
MetaData
>
finAllMetaData
()
{
public
List
<
MetaData
>
finAllMetaData
()
{
return
(
List
<
MetaData
>)
metadataRepository
.
findAll
();
return
(
List
<
MetaData
>)
metadataRepository
.
findAll
();
...
@@ -58,10 +155,10 @@ public class MetadataServiceImpl implements IMetadataService {
...
@@ -58,10 +155,10 @@ public class MetadataServiceImpl implements IMetadataService {
}
}
@Override
@Override
public
void
syschroRelationFromMongo
()
{
public
void
syschroRelationFromMongo
(
String
catalogName
)
{
//先从mongo读取关系,写入neo4j
//先从mongo读取关系,写入neo4j
Map
<
String
,
MetaData
>
metaDataMap
=
new
HashMap
<>();
Map
<
String
,
MetaData
>
metaDataMap
=
new
HashMap
<>();
List
<
RelationMongo
>
relationMongoList
=
mongoDbServiceImpl
.
findAll
();
List
<
RelationMongo
>
relationMongoList
=
mongoDbServiceImpl
.
findAll
(
catalogName
);
for
(
RelationMongo
relationMongo:
relationMongoList
){
for
(
RelationMongo
relationMongo:
relationMongoList
){
// 获取元数据属性
// 获取元数据属性
System
.
out
.
println
(
relationMongo
.
getId
());
System
.
out
.
println
(
relationMongo
.
getId
());
...
...
src/main/java/com/keymobile/metadata/metadataRelation/service/impl/MongoDbServiceImpl.java
View file @
b4ced847
...
@@ -21,7 +21,22 @@ public class MongoDbServiceImpl {
...
@@ -21,7 +21,22 @@ public class MongoDbServiceImpl {
*
*
* @return
* @return
*/
*/
public
List
<
RelationMongo
>
findAll
()
{
public
List
<
RelationMongo
>
findAll
(
String
catalogName
)
{
logger
.
info
(
"--------------------->[MongoDB find start]"
);
try
{
return
mongoTemplate
.
findAll
(
RelationMongo
.
class
,
"md_relation_"
+
catalogName
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
return
null
;
}
}
/**
* 查询所有
*
* @return
*/
public
List
<
RelationMongo
>
findAll
(
)
{
logger
.
info
(
"--------------------->[MongoDB find start]"
);
logger
.
info
(
"--------------------->[MongoDB find start]"
);
try
{
try
{
return
mongoTemplate
.
findAll
(
RelationMongo
.
class
,
"md_relational"
);
return
mongoTemplate
.
findAll
(
RelationMongo
.
class
,
"md_relational"
);
...
...
src/main/java/com/keymobile/metadata/metadataRelation/util/Neo4jTool.java
0 → 100644
View file @
b4ced847
package
com
.
keymobile
.
metadata
.
metadataRelation
.
util
;
import
java.beans.BeanInfo
;
import
java.beans.Introspector
;
import
java.beans.PropertyDescriptor
;
import
java.lang.reflect.Method
;
import
java.util.Map
;
public
class
Neo4jTool
{
// Map --> Bean 1: 利用Introspector,PropertyDescriptor实现 Map --> Bean
public
static
void
transMap2Bean
(
Map
<
String
,
Object
>
map
,
Object
obj
)
{
try
{
BeanInfo
beanInfo
=
Introspector
.
getBeanInfo
(
obj
.
getClass
());
PropertyDescriptor
[]
propertyDescriptors
=
beanInfo
.
getPropertyDescriptors
();
for
(
PropertyDescriptor
property
:
propertyDescriptors
)
{
String
key
=
property
.
getName
();
if
(
map
.
containsKey
(
key
))
{
Object
value
=
map
.
get
(
key
);
// 得到property对应的setter方法
Method
setter
=
property
.
getWriteMethod
();
if
(
setter
!=
null
)
{
try
{
setter
.
invoke
(
obj
,
value
);
}
catch
(
Exception
e
)
{
setter
.
invoke
(
obj
,
value
+
""
);
}
}
}
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
System
.
out
.
println
(
"transMap2Bean Error "
+
e
);
}
return
;
}
}
src/main/resources/application.yml
→
src/main/resources/application
-dev
.yml
View file @
b4ced847
...
@@ -9,6 +9,7 @@ spring:
...
@@ -9,6 +9,7 @@ spring:
data
:
data
:
neo4j
:
neo4j
:
uri
:
http://127.0.0.1:7474
uri
:
http://127.0.0.1:7474
url
:
bolt://localhost:7687
username
:
neo4j
username
:
neo4j
password
:
yuanyao
password
:
yuanyao
main
:
main
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment