개발하자

[JAVA] jsp에서 DB 쿼리 호출 본문

TECH STACKS/JSP︲HTML ︲CSS ︲SCRIPT

[JAVA] jsp에서 DB 쿼리 호출

개발리미 2023. 11. 29. 16:52
728x90

프로젝트 특성상 jsp로 모든 작업을 하였다.

유틸 jsp 파일을 하나 만들고 DB connection, DB close,  쿼리들을 함수로 만들어 필요할때마다 호출하여 사용하는 도중  

함수를 호출할 때마다 데이터의 갯수 또는 형태가 다 달라 가져오는 방법이 달라서 호출할때 매번 헷갈렸다.

예를 들어 값이 하나인 쿼리를 호출할때, list로 호출할 때 그리고 count된 숫자를 호출할때 등등.

그래서 이번에는 각 데이터에 맞게 호출하는 방법을 정리해 놓으려 한다.


1. list로 여러 값을 받아올 경우

  • 유틸.jsp - 쿼리 예시
<%
public String queryFunction(){
	String queryFunction = "";

	queryFunction += "SELECT * FROM TABLE	";

	return queryFunction;
}
%>
  • 함수 호출 및 표출(리스트 전체)
<%
List<Map<String,Object>> boardList = null;	// select 쿼리 변수
boardList = jdbcTemplate.query(queryFunction(), new Db());

// 값 표출
if(boardList!=null && boardList.size()>0){
	for(Map<String,Object> ob : boardList){
		out.println(getString(ob, "KEY"));
	}
}
%>
  • 함수 호출 및 표출(row 한줄일 경우)
<%
List<Map<String,Object>> boardList = null;	// select 쿼리 변수
boardList = jdbcTemplate.query(queryFunction(), new Db());

// 값 표출 (특정 로우의 값만 가져올때)
if (boardList != null && !boardList.isEmpty()) {
    Map<String, Object> firstRow = boardList.get(0);
    out.println(getString(firstRow, "ORGAN_NM"));
}

%>

 

2. 하나의 값을 받아올 경우

  • 유틸.jsp - 쿼리 예시
<%
public String queryFunction(){
	String queryFunction = "";
	
	// 유일값 1개만 SELECT
	queryFunction += "SELECT * FROM TABLE WHERE KEY = ?";

	return queryFunction;
}
%>
  • 함수 호출 및 표출
<%
String key = "검색값";
Map<String, Object> result = jdbcTemplate.queryForMap(queryFunction().toString(), key);
String resultKey = (String) result.get("KEY");
// 값 표출
out.println(resultKey);
%>

 

3. 하나의 숫자를 받아올 경우

  • 유틸.jsp - 쿼리 예시
<%
public String queryFunction(){
	String queryFunction = "";
	
	// 유일값 1개만 SELECT
	queryFunction += "SELECT COUNT(*) FROM TABLE	";

	return queryFunction;
}
%>
  • 함수 호출 및 표출
<%
int totalCount = "";
totalCount = jdbcTemplate.queryForObject(queryFunction().toString(), Integer.class);
// 값 표출
out.println(totalCount);
%>

 

TIP. 위에서 사용한 getString()은 util에 넣고 자주 사용하는 함수이다.

<%
	public String getString(Map<String,Object> map, String key){
		String val = "";
		if(map!=null && map.get(key)!=null){
			val = map.get(key).toString();
		}
		return val;
	}
%>

 

 

 


공부하면서 유용했던 부분 메모겸 공유하고자 끄적입니다.

고쳐야하는 부분있다면 댓글 남겨주시면 수정하겠습니다.

행복한 하루 보내세요 (❁´◡`❁)

728x90
반응형