使用IDEA创建SpringBoot+neo4j项目

来源:互联网 发布:关于网络的ppt模板 编辑:程序博客网 时间:2024/06/09 00:12

最近在使用图数据库,所以就用SpringBoot和Neo4j创建了一个简单的java项目:

项目架构创建(使用IDEA):

file-->new-->project打开如下窗口:



选择Spring Intializr选项然后点击下一步---出现如下窗口:



填写group和artifact后选择下一步(出现如下窗口):):




勾选web



勾线nosql的neo4j   然后点击下一步,这样就创建好了一个项目,项目结构如下图:




至此项目创建成功。


pom文件与依赖已经自动生成:


<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">   <modelVersion>4.0.0</modelVersion>   <groupId>com.neo</groupId>   <artifactId>neo</artifactId>   <version>0.0.1-SNAPSHOT</version>   <packaging>jar</packaging>   <name>neo</name>   <description>Demo project for Spring Boot</description>   <parent>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-parent</artifactId>      <version>1.5.7.RELEASE</version>      <relativePath/> <!-- lookup parent from repository -->   </parent>   <properties>      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>      <java.version>1.8</java.version>   </properties>   <dependencies>      <dependency>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-starter-data-neo4j</artifactId>      </dependency>      <dependency>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-starter-web</artifactId>      </dependency>      <dependency>         <groupId>org.springframework.boot</groupId>         <artifactId>spring-boot-starter-test</artifactId>         <scope>test</scope>      </dependency>   </dependencies>   <build>      <plugins>         <plugin>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-maven-plugin</artifactId>         </plugin>      </plugins>   </build></project>


创建启动类:

@SpringBootApplicationpublic class NeoApplication {   public static void main(String[] args) {      SpringApplication.run(NeoApplication.class, args);   }}


创建实体对象:


package com.neo.neo.Entitys;import org.neo4j.ogm.annotation.GraphId;import org.neo4j.ogm.annotation.NodeEntity;@NodeEntitypublic class Person {    @GraphId    private Long id;    private String name ;    private String phone;    private String sex;    public Long getId() {        return id;    }    public void setId(Long id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getPhone() {        return phone;    }    public void setPhone(String phone) {        this.phone = phone;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        this.sex = sex;    }}


repositories类:


package com.neo.neo.repositories;import com.neo.neo.Entitys.Person;import org.springframework.data.neo4j.annotation.Query;import org.springframework.data.neo4j.repository.GraphRepository;import org.springframework.data.repository.query.Param;import java.util.Collection;public interface PersonRepository extends GraphRepository<Person> {    Person findByName(@Param("name") String name);    @Query("MATCH (t:Person) WHERE t.name =~ ('(?i).*'+{name}+'.*') RETURN t")    Collection<Person> findByPersonName(@Param("name") String name);}

控制器:

package com.neo.neo.controller;import com.neo.neo.Entitys.Person;import com.neo.neo.service.PersonService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.*;@RestController@RequestMapping("/p")public class PersonController {    @Autowired    private PersonService personService;    @RequestMapping(value = "/{name}", method = RequestMethod.GET)    @ResponseBody    public String create(@PathVariable String name) {        Person person =  personService.findByName(name);        String persons = "姓名是:"+person.getName()+"id是:"+person.getId()+"电话是:"+person.getPhone()+"性别是:"+person.getSex();        return persons;    }

Service接口:


package com.neo.neo.service;import com.neo.neo.Entitys.Person;public interface PersonService {    Person  findByName(String name);}

接口实现:

import com.neo.neo.service.PersonService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;@Servicepublic class PersonServiceImpl implements PersonService{    @Autowired    PersonRepository personRepository;    @Override    public Person findByName(String name) {        Person person = personRepository.findByName(name);        return person;    }}


启动后进行访问:http://localhost:8080/p/glim


姓名是:glim id是:0 电话是:13666666666 性别是:男



更加复杂的操作后续将逐步加入,初次使用,若有不完善之处还请大家批评指正!





原创粉丝点击