我的理解是,雖然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)
確定變更
Class.forName("org.neo4j.jdbc.Driver")
,它看起來像問題是,我Neo4j的驅動程序沒有被行家正確導入。看到這個問題:http://stackoverflow.com/questions/27808257/where-can-i-find-neo4j-jdbc-driver – dwjohnston