카테고리 : 기술 자료
2008/07/15 apache commons DbUtils 활용하기 [3]
2008/06/19 코드 검색 사이트
7월31일에 Springbatch 1.1.1이 나왔군요. 버그수정 외에 특별한 기능의 update 사안은 없기는 합니다만, 진도가 빠른 느낌입니다. ( http://www.springframework.org/node/722 )
Spring batch에 대한 국내 자료도 점점 많이 생겨나고 있습니다. KSUG(한국 스프링사용자모임)에서 만난 분들 중 Spring batch에 관심을 가지고 계신 분들이 몇 분 계셔서, 새로운 자료들도 속속 올라올 것 같군요. 그런 분들과 정보를 주고 받을 수 있으니, 포럼(http;//forum.ksug.org) 개설 등 최근 KSUG의 변화에 따른 수혜를 제가 많이 받고 있다고 느껴집니다.
그리고 제가 마이크로소프트웨어지에 연재하고 있는 글도 시일이 좀 지난 기사에 한해서 담당기자분의 허락을 얻어 KSUG의 블로그에 올리고 있습니다.
이미 잡지에 나왔던 내용이지만, 인쇄되어 나올 원고를 쓸 때와는 달리 링크와 인용을 더 편하게 할 수 있기에 웹사이트에 올릴 수 있는 기회가 온 것을 반가워하고 있습니다. 연재용 원고를 쓸 때는 참조자료의 URL이 들어가면 긴 주소를 독자들이 직접 쳐서 웹사이트에 들어가 볼까 하는 의구심도 들고, 주소가 차지하는 지면 공간도 많고 해서 사소한 것까지 웹사이트 주소를 쓰기가 망설여 지더군요. 웹에 올릴 때는 API문서 등 사소한 링크도 다 넣을 수 있어서 속이 후련했습니다. 그리고 티스토리에서 제공되는 '미주'를 다는 기능도 정말 마음에 듭니다. 개인블로그도 이글루스에서 이사가고 싶은 마음이 생길 정도입니다;
위의 연재 내용을 포함한 스프링에 대한 모든 질문과 토론은 http://forum.ksug.org을 통해서 하시면 됩니다~!
# by | 2008/08/04 00:14 | 기술 자료 | 트랙백 | 덧글(0)
개발을 하다보면 간단한 화면 1~2개만 독립적으로 돌아가는 웹어플리케이션을 만들 때도 있습니다. 예를 들면 로그조회 프로그램 같은 것들이죠.
그런 곳에는 Hibernate나 iBatis를 쓰기에는 너무 거창하다는 느낌이 들기도 합니다. 그렇다고 JDBC로 날코딩하기는 성가실때, 이럴 때는 apache commons DbUtils를 써볼만 합니다.
JDBC에서 Connection, Statement,ResultSet의 close 글에 나온 것처럼 Connection을 닫는 번거로운 처리가 DbUtils.closeQuietly(con);로 끝나는 것만 해도 상당히 편합니다.
아래 예제는 DBUtils + JSTL로 간단한 조회화면을 만들어 본 것입니다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@ page import = "java.sql.*" %>
<%@ page import = "java.util.Properties" %>
<%@ page import = "org.apache.commons.dbutils.DbUtils" %>
<%@ page import = "org.apache.commons.dbutils.QueryRunner" %>
<%@ page import = " org.apache.commons.dbutils.handlers.MapListHandler" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%!
private static final String SELECT_STMT =
"SELECT id, name, email, cell_phone_number FROM quiz_user";
%>
<%
String url = "jdbc:hsqldb:hsql://localhost/sampledb";
Properties prop = new Properties();
prop.put("user","sa");
prop.put("password","");
Connection con = null;
try{
Class.forName ("org.hsqldb.jdbcDriver");
con = DriverManager.getConnection(url,prop);
QueryRunner runner = new QueryRunner();
Object resultList = runner.query(con,SELECT_STMT, new MapListHandler());
request.setAttribute("list",resultList);
} catch (SQLException ex) {throw new RuntimeException(ex);
} finally {
DbUtils.closeQuietly(con);
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>사용자</title>
</head>
<body>
<h1>사용자 조회</h1>
<h2>사용자 목록</h2>
<table class="list">
<tr>
<th>id</th><th>이름</th><th>전화번호</th> <th>이메일</th>
</tr>
<c:forEach var="item" items="${list}" varStatus="status">
<tr>
<td>${item.id}</td>
<td align="center">${item.name}</td>
<td>${item.cell_phone_number}</td>
<td align="center">${item.email}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
몇 년전에 DbUtils와 비슷한 클래스를 만든 적이 있었는데, 그때도 좀 찾아볼 걸 그랬나봅니다. 그러고 보면 저도 apache commons에 이미 있는 것을 많이도 만들어본 삽질의 시간들을 겪었었습니다. 신입 때 commons beanutils하고 commons io에 포함된 것 비슷한 유틸리티 만들어 놓고 혼자서 뿌듯해 했었죠 -_-;
# by | 2008/07/15 18:06 | 기술 자료 | 트랙백 | 덧글(3)
◀ 이전 페이지 다음 페이지 ▶