使用springboot2.2用のNeo4j
に入れて最初の更新にいくつかのコードは、次の注釈付きの
1に対応するパケットの導入
<依存性>
<のgroupId> org.springframework.boot </のgroupId>
<たartifactId>ブートスプリング-DATA-スターター-neo4j </たartifactId>
</依存関係>
2. [設定のNeo4j
spring.data.neo4j.uri =ボルト:// localhostを:7687
spring.data.neo4j.username =のNeo4j
spring.data.neo4j.password =管理者
@Bean
公共org.neo4j.ogm.config.Configuration getConfiguration(){
org.neo4j.ogm.config.Configuration構成=新しいorg.neo4j.ogm.config.Configuration.Builder()
.uri(environment.getProperty(「春.data.neo4j.uri "))
.connectionPoolSize(100)
.credentials(environment.getProperty(" spring.data.neo4j.username ")、environment.getProperty(" spring.data.neo4j.password "))
.withBasePackages( "com.distribute.order.repository")
.build()。
設定を返します。
}
@Bean
公共のSessionFactoryのSessionFactory(){
新規のSessionFactory(getConfiguration())を返します。
}
@Bean( "neo4jTransaction")
公衆Neo4jTransactionManager neo4jTransactionManager(のSessionFactoryのSessionFactory){
新しいNeo4jTransactionManager(のSessionFactory)を返します。
}
3.構成
CommonRepositoryはNeo4jRepositoryを{延びパブリックインターフェイス
@query( "N(作成:人数{名:生まれ'ボブ'、 '1990'、場所: 'sjz'})")
空隙にaddNode();
@query( "一致(n)はデタッチ削除N")
ボイドDELETEALL();
@query( "一致(N:人{名:{0}})戻りN")
リスト<地図<文字列オブジェクト>> findPerson(文字列名)。
@query( "作成(映画:作品{名: 'スターウォーズ'、リリース:「1990年代、タイトル: 'スターウォーズ'})")
のボイドaddNodeParent();
}
4.service層の用途
@Autowired
プライベートCommonRepository commonRepository。
@Override
@Transactional(値= "neo4jTransaction")
公衆結果にaddNode(地図<文字列、オブジェクト>のparams){
試み{
commonRepository.addNode();
commonRepository.addNodeParent();
}キャッチ(例外e){
e.printStackTrace();
log.error( "新增失败"、E)。
}
}
5.個人的な質問
デフォルトのトランザクションマネージャは、のNeo4jの業務を管理していない@Transactional(値=「トランザクションマネージャー」)
が、@Transactional(値=「neo4jTransaction」)は 、 のNeo4jのトランザクションマネージャを使用して、あなたはMySQLとのNeo4jながら業務を管理することができます。しかし、あなたが知っていれば、私はあなたが私を教えることを願って、どのような情報が見つかりません