如何用java编写复杂的密码查询
我是新来的。当我阅读某人的代码时,我发现以下代码:如何用java编写复杂的密码查询,java,neo4j,cypher,Java,Neo4j,Cypher,我是新来的。当我阅读某人的代码时,我发现以下代码: String query="{\"query\":\"START n=node("+id+") return n\",\"params\":{}}" 及 我发现写起来很复杂,很容易出错。但是我不知道如何改进它,你能帮我吗?控制复杂性的技术 当理解的复杂性成为一个问题时,您应该始终寻找这些问题 在这种情况下,最简单的方法是黑盒抽象 创建一个类,当您向它提供各种属性时,该类负责创建查询字符串 由于查询的结构是标准的,您可以很容易地(?(抱歉)编
String query="{\"query\":\"START n=node("+id+") return n\",\"params\":{}}"
及
我发现写起来很复杂,很容易出错。但是我不知道如何改进它,你能帮我吗?控制复杂性的技术
当理解的复杂性成为一个问题时,您应该始终寻找这些问题
在这种情况下,最简单的方法是黑盒抽象
- 创建一个类,当您向它提供各种属性时,该类负责创建查询
字符串
- 由于查询的结构是标准的,您可以很容易地(?(抱歉)编写一个通用方法来包含尽可能多的属性(甚至一些自定义属性)
- 你可以称之为
queryBin.addProperty(propertyName1, value1); queryBin.addProperty(propertyName2, value1); queryBin.addProperty(propertyName3, value2);
- 现在,您可以将它们组合成单个
,如下所示字符串
query = queryBin.composeToString();
希望这有帮助。提供更多信息-您使用neo4j作为嵌入式还是服务器?如何执行查询?它应该是一个服务器。我让HttpClient执行了这个查询,然后得到了响应,最后返回到customerI。我曾经编写过SQL。我知道一个名为PrepareStatement的东西,你可以在SQL中写入(?),然后使用PrepareStatement对象来设置值,比如:pstemt.setInt(key,value)…但是我不知道如何用cypher实现它。Thaks谢谢你的帮助,这样想对我很有帮助。如果可以手动编写查询字符串,则始终可以编写代码来创建该字符串。它不需要像SQL那样功能齐全,但它可以包含适用于您的用例的基本功能。
query = queryBin.composeToString();