请教各位,我再springboot上使用neo4j带参数查询会提示语法错误,不带参数的查询就可以执行
发布于 2 个月前 作者 krain 170 次浏览 来自 问答

这是我写的dao:

@Repository
public interface UserDao extends Neo4jRepository<User, Long> {

    @Query("match (u:User) return u")
    List<User> list();

    @Query("match (u:User) where u.username={var} return u")
    User findByUsername(@Param("var") String username);

}

这是报错信息:

org.springframework.dao.InvalidDataAccessResourceUsageException: Invalid input '{': expected "+" or "-" (line 1, column 33 (offset: 32))
"match (u:User) where u.username={var} return u"
                                 ^; Error code 'Neo.ClientError.Statement.SyntaxError'

Caused by: org.neo4j.driver.exceptions.ClientException: Invalid input '{': expected "+" or "-" (line 1, column 33 (offset: 32))
"match (u:User) where u.username={var} return u"
                                 ^
2 回复

参数 {var} 用 ?1 替换试试

@pangguoming 谢谢,问题已解决,我现在测试到只能使用 $ 符号,其他的占位表示都不行,或许是版本问题,也可能是我的个人配置有问题。

回到顶部