분류 전체보기
-
iBatis 개요 및 환경설정Java/JSP/Servlet 2008. 9. 4. 10:10
1. iBatis란? iBatis는 데이터베이스에 있는 자원들을 보다 편리하게 가져오기 위한 기술이다. 하지만 DB에 있는 테이블과 자바 객체간의 직접적인 동기화를 이루는 ORM(Object Relational Mapper)는 아니며, 자바빈즈를 PreparedStatement의 바인드 변수인 파라미터(?)와 ResultSet으로 맵핑시켜주는 기능으로 지금에 와서는 SQL Maps 또한 ORM이라고도 한다. 즉, iBatis는 sql문이 자동 생성되는 것이 아니며, 특정 XML문서에 임베디드된 sql문을 개발자가 직접 정의 하여 자바 코드와 sql문을 XML문서로 분리를 시켜 놓는다. 그리고 자바 객체를 sql문의 XML문서에서 맴핑을 걸어 놓아 보다 쉽게 Value Object를 얻기위해 사용되는 SQ..
-
iBATIS 란?Java/JSP/Servlet 2008. 9. 4. 09:54
iBATIS의 개념 iBATIS는 간단한 XML서술자를 사용해서 간단하게 자바빈즈를 SQL statement에 맵핑시킨다. 간단함(Simplicity)이란 다른 프레임워크와 객체관계맵핑툴에 비해 iBATIS의 가장 큰 장점이다. iBATIS Data Mapper를 사용하기 위해서 당신은 자바빈즈와 XML 그리고 SQL에 친숙할 필요가 있다. 여기엔 배워야 할것도 거의 없고 테이블을 조인하거나 복잡한 쿼리문을 수행하기 위해 필요한 복잡한 스키마도 없다. Data Mapper를 사용하면 당신은 실제 SQL문의 모든 기능을 가질수 있다. JDBC 로만 프로그래밍 할 때의 번거로움을 줄여주기 위해 재사용 모듈로 개발된 것인데 그 주요한 어려움을 ibatis 개발자 가이드에서 다음과 같이 정리하고 있다. iBAT..
-
스프링 프레임워크 개요Java/JSP/Servlet 2008. 9. 4. 09:35
스프링 프레임워크 개요 스프링은 그 이름 자체로도 많은 의미를 내포하고 있다. 봄! 이 얼마나 설레는 단어인가? 봄이라는 이름만으로도 무거운 J2EE의 사용으로 지친 개발자들에게 이제 겨울이 끝나고 새로운 계절이 돌아오고 있음을 함축적으로 표현해내고 있다. 스프링은 로드 존슨이 쓴 「Expert one-on-one J2EE Design and Development」란 책에서 소개된 소스코드를 기반으로 2003년 2월 오픈소스로 시작된 프로젝트이다. 스프링이 추구하는 바는 크게 두 가지이다. [1] 복잡하고 무거운 J2EE 기술의 사용을 쉽고 가볍게 만들어주고, 자연스럽게 검증된 최상의 실천 사례들을 구현하도록 함으로써 좋은 프로그램이 작성될 수 있도록 유도한다. [2] 기존의 잘 알려진 기술들을 프레임워..
-
알약, V3 추월하나IT 일반 2008. 9. 3. 15:54
(서울=연합뉴스) 조성흠 기자 = 이스트소프트의 무료백신 알약이 이달 중 기존 대표 백신인 V3를 추월할 기세다. 3일 인터넷 시장조사업체 코리안클릭에 따르면 알약은 8월 기준 1천275만명의 이용자를 확보, 1천355만명을 기록한 안철수연구소의 백신 V3와의 격차를 80만명까지 줄였다. 7월에는 알약이 1천186만명, V3가 1천380만명으로 격차가 194만명이었으나 1개월 만에 격차폭이 110만명 이상 좁혀졌다. 이는 알약 이용자가 1개월 만에 89만명이 증가하고, V3는 같은 기간 25만명이 줄어든 결과다. 업계에서는 이들 백신의 엇갈린 추세를 감안할 때 이달 안에 역전이 가능할 것으로 점쳤다. 알약은 지난해 10월 첫 선을 보인 뒤 10개월 연속 이용자가 증가하는 등 상승세가 멈추지 않고 있다. ..
-
ROWNUM을 이용한 페이지네이션Database 2008. 9. 3. 15:16
ROWNUM을 이용한 페이지네이션 - 결과 셋의 로우 N 에서 로우 M까지를 가져오기 위해 ROWNUM을 사용 - 일반적인 형식 SELECT * FROM ( SELECT a.*, ROWNUM rnum FROM ( your_query_goes_here, with order by ) a WHERE ROWNUM = :MIN_ROW_TO_FETCH; → :MAX_ROW_TO_FETCH는 결과 셋에서 가져올 마지막 로우로 설정, 결과 셋에서 50 번째 ~ 60 번째 로우만을 가져오려 한다면 이 값은 60이 된다. → :MIN_ROW_TO_FETCH는 결과 셋에서 가져올 첫 번째 로우로 설정, 결과 셋에서 50 번째 ~ 60 번째 로우만을 가져오려 한다면 이 값은 50이 된다. - 사용 예 SELECT num, n..
-
ROWNUM의 동작 원리와 활용 방법Database 2008. 9. 3. 15:01
ROWNUM의 동작 원리 - ROWNUM은 쿼리 내에서 사용 가능한 (실제 컬럼이 아닌) 가상 컬럼(pseudo column) - ROWNUM에는 숫자 1, 2, 3, 4, ... N의 값이 할당, 여기서 N 은 ROWNUM과 함께 사용하는 로우의 수를 의미 - ROWNUM 값은 쿼리의 조건절이 처리되고 난 이후, sort, aggregation(GROUP BY)이 수행되기 이전에 할당 - ROWNUM 값은 할당된 이후에만 증가(increment)될수 있다. - 처리 순서 1. FROM/WHERE 절이 먼저 처리 2. ROWNUM이 할당되고 FROM/WHERE 절에서 전달되는 각각의 출력 로우에 대해 증가(increment) 3. SELECT가 적용 4. GROUP BY 조건이 적용 5. HAVING이 ..
-
쿼리를 자바코드로 변환[Toad-Make Code Statement]Database 2008. 9. 3. 14:48
기준 버전 - Toad for Oracle 9.0 View > Toad Options > Editor > Code Assist 의 MakeCode 탭에서 Java 선택 쿼리를 입력하고 Editor > Make Code Statement (단축키 Ctrl + m) 를 실행, 다른 에디터에서 붙여넣기 "SELECT a.empno, a.ename, a.job, b.deptno, b.dname " + "FROM emp a, dept b " + "WHERE a.deptno = b.deptno AND a.sal >= 2000 " 위와 같은 자바코드가 생성된다.
-
오라클 - 시퀀스(SEQUENCE)Database 2008. 9. 3. 14:19
ORACLE SEQUENCE - 유일(UNIQUE)한 값을 생성해주는 오라클 객체 - 시퀀스를 생성하면 기본키와 같이 순차적으로 증가하는 컬럼을 자동적으로 생성할 수 있다. - 시퀀스는 테이블과 독립적으로 저장되고 생성된다. 따라서 하나의 시퀀스를 여러 테이블에서 사용할 수 있다. 시퀀스 생성 문법[Syntax] CREATE SEQUENCE sequence_name [START WITH n] -- n은 시퀀스 시작 값 지정 [INCREMENT BY n] -- n은 시퀀스 증가 값 지정 [MAXVALUE n | NOMAXVALUE] -- 시퀀스 최대값, NOMAXVALUE는 무한대 [MINVALUE n | NOMINVALUE] -- 시퀀스 최소값, NOMINVALUE는 무한대 [CYCLE | NOCYCLE..