繁体   English   中英

如何在Java中编写复杂的密码查询

[英]How to write complex cypher query in java

我是新来的密码。 当我阅读某人的代码时,会发现以下代码:

String query="{\"query\":\"START n=node("+id+") return n\",\"params\":{}}"

String query="{\"query\":\"CREATE(n:Employee{props}) return n\",\"params\":{\"props\":{\"name\":\""
            +name+"\",\"address\":\""+address+"\",\"phone\":\""+phone+"\",\"email\":\""+email+"\"," +
            "\"createTime\":\""+time+"\",\"lastModifyTime\":\""+time+"\",\"status\":\""+status+"\"}}}";

我发现编写起来很复杂,很容易出错。 但是我没有改善的方法,您能帮我吗?

控制复杂性的技术

当理解的复杂性成为问题时,您应该始终寻找这些。

在这种情况下,您遇到的最简单的是黑匣子抽象

  • 创建一个类,当您向其提供各种属性时,该类负责创建查询String
  • 由于查询的结构是标准的,因此您可以轻松地(?)(歉意)编写一个通用方法来包含尽可能多的属性(甚至某些自定义属性)
  • 你可以打电话

     queryBin.addProperty(propertyName1, value1); queryBin.addProperty(propertyName2, value1); queryBin.addProperty(propertyName3, value2); 
  • 现在,您可以将它们组成一个String ,如下所示。

     query = queryBin.composeToString(); 

这样,您可以提高可读性 ,隐藏和隐藏细节( 封装 )和安全性

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM