Notice
Recent Posts
Recent Comments
Link
투케이2K
85. (spring/스프링) mybatis 에서 mssql 데이터베이스 group 그룹 min, max, sum, avg 집계 함수 조회 실시 본문
Spring
85. (spring/스프링) mybatis 에서 mssql 데이터베이스 group 그룹 min, max, sum, avg 집계 함수 조회 실시
투케이2K 2022. 10. 4. 13:22[개발 환경 설정]
개발 툴 : inteli j
개발 언어 : spring
[Controller : 소스 코드]
// TODO [SEARCH FAST] : [테스트 GROUP FUNCTION 조회]
@GetMapping("/TEST_GROUP_FUNCTION")
public String TEST_GROUP_FUNCTION(@RequestParam Map<String, String> param){ // [쿼리 파람 방식]
System.out.println("\n");
System.out.println("================================================");
System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
System.out.println("[METHOD] : "+String.valueOf("TEST_GROUP_FUNCTION"));
System.out.println("[INPUT] : "+String.valueOf(param.toString()));
System.out.println("================================================");
System.out.println("\n");
/**
* // -----------------------------------------
* [호출 방법]
* // -----------------------------------------
* 1. 호출 방식 : GET
* // -----------------------------------------
* 2. 호출 방법 : http://localhost:7000/TEST_GROUP_FUNCTION
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* select group by 그룹함수 조회 수행 쿼리문 데이터
* // -----------------------------------------
* */
// [select where in 조건 조회를 위해 배열에 in 조건 삽입 실시]
ArrayList DEPT_LIST = new ArrayList();
DEPT_LIST.add("고구려");
DEPT_LIST.add("백제");
DEPT_LIST.add("신라");
// [인풋 hashmap 에 추가 실시]
Map inputMap = new HashMap();
inputMap.put("DEPT_LIST", DEPT_LIST);
// [service 호출 수행]
List<Map<String, Object>> returnData = mssqlService.TEST_GROUP_FUNCTION(inputMap);
// [리턴 받은 map 데이터 널 체크 실시]
try {
if (returnData != null){
System.out.println("\n");
System.out.println("================================================");
System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
System.out.println("[METHOD] : "+String.valueOf("TEST_GROUP_FUNCTION"));
System.out.println("[RESULT] : "+String.valueOf(returnData.toString()));
System.out.println("================================================");
System.out.println("\n");
// [리턴 데이터 반환]
return returnData.toString();
}
}
catch (Exception e){
e.printStackTrace();
}
// [리턴 데이터 반환]
return "";
}
[Service : 소스 코드]
// TODO [SEARCH FAST] : [테스트 GROUP FUNCTION 조회]
public List<Map<String, Object>> TEST_GROUP_FUNCTION(Map map){
System.out.println("\n");
System.out.println("================================================");
System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
System.out.println("[METHOD] : "+String.valueOf("TEST_GROUP_FUNCTION"));
System.out.println("[INPUT] : "+String.valueOf(map.toString()));
System.out.println("================================================");
System.out.println("\n");
// [mapper 인터페이스 호출 실시]
List<Map<String, Object>> returnData = mssqlMapper.TEST_GROUP_FUNCTION(map);
// [리턴 값 반환]
return returnData;
}
[Mapper : 소스 코드]
// TODO [SEARCH FAST] : [테스트 GROUP FUNCTION 조회]
List<Map<String, Object>> TEST_GROUP_FUNCTION(Map map);
[Mybatis : 소스 코드]
<!--
// =========================================
// [SEARCH FAST] : [테스트 GROUP FUNCTION 조회]
// =========================================
// [select id] [mapper 인터페이스 지정 메소드] : TEST_GROUP_FUNCTION
// =========================================
-->
<select id="TEST_GROUP_FUNCTION" parameterType="hashmap" resultType="hashmap">
select t_dept as 부서,
count(t_dept) as 부서인원,
min(cast(t_age as int)) as 최소나이,
max(cast(t_age as int)) as 최대나이,
sum(cast(t_age as int)) as 나이합계,
avg(cast(t_age as int)) as 나이평균
from test_user
where T_DEPT in
<foreach collection="DEPT_LIST" item="DEPT" separator="," open="(" close=")">
#{DEPT}
</foreach>
group by t_dept
</select>
[결과 출력]
반응형
'Spring' 카테고리의 다른 글
Comments