요르딩딩
[JAVA Util] ConvertUtils 본문
728x90
반응형
1. HashMap Data -> Query String으로 변환
2. limit, offset을 활용하여 page_no 계산하여 반환
3. page_no, pags_size를 활용하여 offset 계산하여 반환
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class ConvertUtils {
/**
* HashMap Data를 Query String으로 변환
* @param HashMap
* @return String
*/
@SuppressWarnings("rawtypes")
public static String hashMapToQueryString(HashMap<String,Object> param){
String paramStr = "";
Iterator it = param.entrySet().iterator();
int i = 0;
while(it.hasNext()){
i++;
Map.Entry entry = (Map.Entry)it.next();
Object key = entry.getKey();
Object val = entry.getValue();
if(val == null) {
continue;
}
paramStr += key.toString() + "=" + val.toString();
if(param.size() > i) {
paramStr += "&";
}
}
return paramStr;
}
/**
* limit, offset을 활용하여 page_no 계산하여 반환
* @param HashMap
* @return int
*/
public static int calculatePageNo(HashMap<String,Object> param){
String limitStr = StringUtil.fixNull(param.get(LIMIT));
String offsetStr = StringUtil.fixNull(param.get(OFFSET));
if(ValidationUtils.isEmpty(limitStr) && ValidationUtils.isEmpty(offsetStr)) {
return 0;
}
int limit = Integer.parseInt(limitStr);
int offset = Integer.parseInt(offsetStr);
return (limit + offset) / limit;
}
/**
* page_no, pags_size를 활용하여 offset 계산하여 반환
* @param HashMap
* @return int
*/
public static int calculateOffset(HashMap<String,Object> param){
String pageNoStr = StringUtil.fixNull(param.get(PAGE_NO));
String pageSizeStr = StringUtil.fixNull(param.get(PAGE_SIZE));
if(ValidationUtils.isEmpty(pageNoStr) && ValidationUtils.isEmpty(pageSizeStr)) {
return 0;
}
int pageNo = Integer.parseInt(pageNoStr);
int pageSize = Integer.parseInt(pageSizeStr);
return pageSize * (pageNo -1);
}
}
728x90
반응형
'[Java]' 카테고리의 다른 글
[JAVA] Enum 구현 (1) (0) | 2021.05.04 |
---|---|
[JAVA] Coalesce (isNull과 친척관계) (0) | 2021.04.06 |
Map - Json String 변환 (0) | 2021.04.06 |
[JAVA] 인코더, 디코더 (0) | 2021.04.05 |
String.join(", ", 배열) (0) | 2021.02.24 |
Comments