来自args的输入将是 A100 。我需要在属性文件中检查此值 A100 ,并获取查询publisher
,这是另一个键的值。如何检查一个键中的值,并根据它如何获取另一个键的值? view1的多个值(A1000,A200,A300等直到50个视图)将只有一个查询select * from xyz
。
属性文件:
select * from xyz
代码:
view1 = A1000,A200,A300
query1 = select * from xyz
view2 = B100,B200,B300
query2 = select * from abc
请就此提出建议。
答案 0 :(得分:0)
您有什么输入?我打赌你的输入是A1000
或B2341
。然后,此代码String [] mapValue = Properties.getProperty(key).split(",");
不正确,因为A1000
不是键,而是值。如果是这种情况,最好的办法是预处理属性文件中的所有属性:
Map<String, String> queriesByKeys = new HashMap<>();
for (String key : props.keySet())
{
if (!key.startsWith("view"))
continue;
String queryKey = key.replace("view", "query");
String queryValue = props.getPropertyValue(queryKey);
String ids = props.getPropertyValue(key);
for (String id : ids.split(","))
queriesByKeys.put(id, queryValue);
}
然后,您可以使用queriesByKeys
按ID进行查询。