public static void testname() throws Exception {
Map map = new HashMap();
StringBuffer sb = new StringBuffer();
String[] revids = {"22","452","65"};
map.put("areaid", "2012");
map.put("deptids", "20,32,65");
map.put("revdeptids", revids);
map.put("type", "");
System.out.println(map);
Iterator<String> itr = map.keySet().iterator();
sb.append("select * from emp ");
addSQLCondition(map,"=","areaid", sb);
addSQLCondition(map,"!=","deptids", sb);
addSQLCondition(map,"revdeptids", sb);
System.out.println(sb);
}
private static void addSQLCondition(Map map,String operate, String key, StringBuffer sb) {
if (map.get(key) != null) {
sb.append(key).append(operate).append("'").append(map.get(key)).append("' and ");
}
}
private static void addSQLCondition(Map map,String key, StringBuffer sb) {
if (map.get(key) != null) {
sb.append(key).append(" in ").append("{");
String[] keys = (String[]) map.get(key);
for (int i = 0; i < keys.length-1; i++) {
sb.append(keys[i]).append(",");
}
sb.append(keys[keys.length-1]);
sb.append("} ");
}
}
Map map = new HashMap();
StringBuffer sb = new StringBuffer();
String[] revids = {"22","452","65"};
map.put("areaid", "2012");
map.put("deptids", "20,32,65");
map.put("revdeptids", revids);
map.put("type", "");
System.out.println(map);
Iterator<String> itr = map.keySet().iterator();
sb.append("select * from emp ");
addSQLCondition(map,"=","areaid", sb);
addSQLCondition(map,"!=","deptids", sb);
addSQLCondition(map,"revdeptids", sb);
System.out.println(sb);
}
private static void addSQLCondition(Map map,String operate, String key, StringBuffer sb) {
if (map.get(key) != null) {
sb.append(key).append(operate).append("'").append(map.get(key)).append("' and ");
}
}
private static void addSQLCondition(Map map,String key, StringBuffer sb) {
if (map.get(key) != null) {
sb.append(key).append(" in ").append("{");
String[] keys = (String[]) map.get(key);
for (int i = 0; i < keys.length-1; i++) {
sb.append(keys[i]).append(",");
}
sb.append(keys[keys.length-1]);
sb.append("} ");
}
}