springboot2.2使用neo4j
第一次更新先放一些代码进来,下次加注释
1.引入相应的包
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-data-neo4j</artifactId>
</dependency>

2.配置neo4j

spring.data.neo4j.uri=bolt://localhost:7687
spring.data.neo4j.username=neo4j
spring.data.neo4j.password=admin

@Bean
public org.neo4j.ogm.config.Configuration getConfiguration(){
  org.neo4j.ogm.config.Configuration configuration = new org.neo4j.ogm.config.Configuration.Builder()
    .uri(environment.getProperty("spring.data.neo4j.uri"))
    .connectionPoolSize(100)
    .credentials(environment.getProperty("spring.data.neo4j.username"), environment.getProperty("spring.data.neo4j.password"))

    .withBasePackages("com.distribute.order.repository")

    .build();

  return configuration;
}

@Bean
public SessionFactory sessionFactory(){
  return new SessionFactory(getConfiguration());
}

@Bean("neo4jTransaction")
public Neo4jTransactionManager neo4jTransactionManager(SessionFactory sessionFactory){
  return new Neo4jTransactionManager(sessionFactory);
}

3.配置接口
public interface CommonRepository extends Neo4jRepository{

  @Query(" create(n:Person{name:'bob',born:'1990',location:'sjz'}) ")
  void addNode();

  @Query(" match(n) detach delete n ")
  void deleteAll();

  @Query(" match(n:Person{name:{0}}) return n ")
  List<Map<String,Object>> findPerson(String name);

  @Query(" create(movies:Movie{name:'starWars',released:'1990',title:'star wars'}) ")
  void addNodeParent();
}

4.service层使用

@Autowired
private CommonRepository commonRepository;

@Override
@Transactional(value = "neo4jTransaction")
public Result addNode(Map<String, Object> params) throws Exception{
  try{
    commonRepository.addNode();
    commonRepository.addNodeParent();
  }catch(Exception e){
    e.printStackTrace();
    log.error("新增失败",e);

    throw new RuntimeException("新增失败");
  }

  return new Result();
}

5.个人疑问
@Transactional(value = "transactionManager")默认事务管理器不会管理neo4j的事务
但是@Transactional(value = "neo4jTransaction"),使用neo4j的事务管理器,则可以同时管理mysql及neo4j的事务。但是没有查到什么资料,要是您知道,希望可以教教我

最新文章

  1. pycharm连接mysql数据库
  2. Ionic2学习笔记(6):Navigation
  3. SharePoint 2013 托管导航及相关配置
  4. 6. support vector machine
  5. SQL怎么输出前n个记录? n是中间计算得到的,不支持变量传递
  6. BZOJ4590: [Shoi2015]自动刷题机
  7. Lucene 4.7 --高亮显示
  8. Sql 随机生成日期时间
  9. android 新浪微博客户端的表情功能的实现
  10. Java的LockSupport.park()实现分析
  11. Android显示GIF图片
  12. DataBinding
  13. JS/jQ常用宽高及应用
  14. angular2项目如何使用sass
  15. [开发笔记]--把input框设置成font-size:0埋下的坑。
  16. Jmeter转换成中文模式
  17. Debian 9.x &quot;stretch&quot; 安装 vnStat 统计服务器流量
  18. 前端 -- HTML内容
  19. webpy 解决中文出现UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 问题
  20. spark 中划分stage的思路

热门文章

  1. 【BZOJ】BZOJ3040 最短路 线段树优化Dijkstra
  2. Fluent当中的通配符【翻译】
  3. redis渐进式 rehash
  4. 熔断机制hystrix
  5. Ubuntu安装邮件服务器
  6. ubuntu之路——day10.5 可避免偏差
  7. 迁移mysql数据位置
  8. MySQL 行转列 -》动态行转列 -》动态行转列带计算
  9. 在gitlab新建分支,IDEA切换时找不到的解决办法
  10. 零基础学Python-第一章 :Python介绍和安装-01.Python语言的特点