2015-06-28 77 views
3

我的理解是,雖然JDBC是通常用於SQL查詢,因爲SQL查詢本質上只是一個字符串,JDBC是不會知道它是否是一個SQL查詢或暗號查詢。如何設置與neo4j的jdbc連接?

從我所看到的我只需要導入Neo4j的JDBC驅動程序,並用它來我的CYPHER查詢傳遞到Neo4j的數據庫。

的pom.xml

<dependency> 
     <groupId>org.neo4j</groupId> 
     <artifactId>neo4j-jdbc</artifactId> 
     <version>2.1.4</version> 
     <type>pom</type> 
    </dependency> 

現在,我想是這樣的:

this.dataSource = new DriverManagerDataSource(this.DBURL,this.USERNAME, this.PASSWORD); 


    this.dataSource.setDriverClassName("org.neo4j.jdbc.Driver");   
    this.jdbcTemplate = new JdbcTemplate(this.dataSource); 

    String qq = "MATCH (n:Individual) RETURN n LIMIT 25;";  
    Map<String,Object> res = jdbcTemplate.queryForMap(qq); //I actually just want to return a JSON string, but this is the only example I can find for now 

這段代碼給我:

java.lang.ClassNotFoundException: org.neo4j.jdbc.Driver 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:274) 
    at org.springframework.jdbc.datasource.DriverManagerDataSource.setDriverClassName(DriverManagerDataSource.java:127) 

我在做什麼錯這裏?什麼是駕駛員級別的正確名稱?

我也試過

Class.forName("org.neo4j.jdbc.Driver"); 

,我也得到:

java.lang.ClassNotFoundException: org.neo4j.jdbc.Driver 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:191) 
+0

確定變更 Class.forName("org.neo4j.jdbc.Driver")

,它看起來像問題是,我Neo4j的驅動程序沒有被行家正確導入。看到這個問題:http://stackoverflow.com/questions/27808257/where-can-i-find-neo4j-jdbc-driver – dwjohnston

回答

-1

你平時都做Class.forName("org.neo4j.jdbc.Driver")首先加載驅動程序類。

什麼是你的JDBC URL是什麼樣子?

請注意,JDBC驅動程序(在遠程情況下),會返回一個Map與每個節點的數據。

+0

我試過了,我仍然得到一個錯誤。檢查更新的帖子。你能解釋一下Class.forName的作用嗎? – dwjohnston

+0

JDBC:Neo4j的://爲myhost:8080/URL – dwjohnston

+0

不是 '通常是' 自2007年以來 – EJP

-1

嘗試在

Class.forName("org.neo4j.jdbc.Driver").newInstance()

+2

的問題顯示了 「ClassNotFoundException異常」 拋出。試圖創建一個甚至無法加載的類的實例不會有幫助。 –