-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
60 lines (46 loc) · 2.07 KB
/
Copy pathSolution.java
File metadata and controls
60 lines (46 loc) · 2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//When Jesus therefore had received the vinegar, he said, "It is finished." He bowed his head, and gave up his spirit. (John 19:30)
package com.javarush.task.task22.task2208;
import java.util.Map;
import java.util.LinkedHashMap;
/*
Формируем WHERE
*/
public class Solution {
public static void main(String[] args) {
Map<String, String> map = new LinkedHashMap<>();
map.put("name","Ivanov");
map.put("country","Ukraine");
map.put("city","Kiev");
map.put("age",null);
map.put("name1","Ivanov");
map.put("name2","Ivanov");
System.out.println(getQuery(map));
}
public static String getQuery(Map<String, String> params) {
StringBuilder result = new StringBuilder();
if (params == null || params.isEmpty())
return result.toString();
for (Map.Entry<String, String> pair : params.entrySet()) {
if (pair.getKey() == null || pair.getValue() == null)
continue;
result.append(pair.getKey()).append(" = '").append(pair.getValue()).append("' and ");
}
if (result.length() > 5)
result.delete(result.length() - 5, result.length());
return result.toString();
}
}
/*
Формируем WHERE
Сформируй часть запроса WHERE используя StringBuilder.
Если значение null, то параметр не должен попадать в запрос.
Пример:
{"name", "Ivanov", "country", "Ukraine", "city", "Kiev", "age", null}
Результат:
"name = 'Ivanov' and country = 'Ukraine' and city = 'Kiev'"
Требования:
1. Метод getQuery должен принимать один параметр типа Map.
2. Метод getQuery должен иметь тип возвращаемого значения String.
3. Метод getQuery должен быть статическим.
4. Метод getQuery должен возвращать строку сформированную по правилам описанным в условии задачи.
*/