Notice
반응형
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- java
- 이론
- html
- SQL
- CSS
- 병행프로세스와 상호배제
- createBro
- SCIPRT
- 이미지용량제한
- TSX
- react
- googleCharts
- Oracle
- BREW
- 책추천
- Eclipse
- input
- googleChart
- txs
- npm
- js
- jsp
- node
- php version
- 이클립스
- 정처산기
- script
- 붙여넣기방지
- 응용SW
- IntelliJ
Archives
- Today
- Total
개발하자
[JAVA] jsp에서 DB 쿼리 호출 본문
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
반응형
'TECH STACKS > JSP︲HTML ︲CSS ︲SCRIPT' 카테고리의 다른 글
[HTML] input pattern 정규식 (1) | 2023.12.08 |
---|---|
[JS] 생년월일 입력하면 만 나이 구하기 (2) | 2023.12.07 |
[JS] 스크립트 form submit (onclick) (0) | 2023.11.29 |
[JS] AJAX 호출 (2) | 2023.11.07 |
[HTML] a 태그로 알림창 생성 (0) | 2023.11.07 |