Java 관련: 133개의 글
call 사용 ibatis에서 사용하는 의 종류에는 여러가지 있다. [Java Web/MyBatis, iBatis] - [ibatis] sqlMap XML 파일의 기본 구조 이중에는 저장 프로시저를 call 해서 사용할 수 있는 도 포함된다. 저장 프로시저 는 아래와 같이 사용된다 {call swap_email_address(?,?)} 위와 같이 프로시저를 호출하는 것은 파라미터 객체(map)의 email1 과 email2 의 값을 교체하는 것이다.파라미터 객체는 파라미터 mapping의 mode 속성값이 "INOUT" 또는 "OUT" 일 경우에만 변경된다.다른 경우는 변경되지 않고 남는다. JDBC에서 Porcedure를 호출할 때는 JDBC CallableStatement 를 확인해 본다. 출처: h..
자동생성키 사용 (채번, Sequence) 대부분의 RDBMS 시스템은 Sequence 와 같은 채번 자동 생성을 지원한다.개발을 하다보면 종종 자동생성된 Sequence 값을 가져와서 사용해야 하는 경우가 있다.이런 경우에 를 사용한다. 는 ibatis의 statement 타입 중 타입에만 사용할 수 있는 하위 요소이다. [Java Web/MyBatis, iBatis] - [ibatis] sqlMap XML 파일의 기본 구조 문 아래에 사용함으로써, 자동생성된 키 값을 가져오며, 이 값을 반환하여 활용할 수 있다. * 사용 기본 예제 SELECT STOCKIDSEQUENCE.NEXTVAL AS ID FROM DUAL INSERT INTO PRODUCT(PRD_ID, PRD_DESCRIPTION) VAL..
sqlMap XML 파일의 기본 구조 * sqmMap XML 파일의 예제 sqlMapConfig.xml 에서 으로 SQL MAP XML 파일을 포함시켰다. [ibatis] sqlMapConfig.xml 파일 설정 및 정리 이 포함시킨 파일에 실제 매핑되어 사용될 쿼리문들을 작성해야 한다. 위의 예제를 보면 SELECT * FROM PRODUCT WHERE PRD_ID = #id# 와 같은 간단한 쿼리를 작성하기 위해 많은 내용들이 작성되어있다.위의 예는 작성할 수 있는 여러 옵션들을 구구절절 달아놓은 것이고, 간단한 방식으로는 아래와 같이 작성해도 같은 SQL 결과가 나온다. 위의 두 SQL MAP XML 파일은 SQL 호출 및 결과 값은 같지만 내부적으로 동작하는 statement는 몇가지 다른 점을 ..
sqlMapConfig.xml 파일 설정 및 정리 SQL Maps는 DataSource, Data Mapper에 대한 설정이나, Thread 관리와 같은 SQL Maps와 다른 옵션에 대한 설정을 하는 sqlMapConfig.xml 을 사용한다. * sqlMapConfig.xml 사용의 예 sqlMapConfig.xml 에 사용하는 태그의 종류는 다음과 같다. ① : xml 파일 선언 (필수)② : sqlMapConfig.xml 의 형식을 정의하는 sql-map-config2.dtd 선언 (필수)③ : XML 헤더 (필수)④ : 명시된 프로퍼티 에서 변수 값을 가져온다.⑤ : 트랜잭션 관리 및 sqlMapClient 상세 제어⑥ : 긴 전체 경로를 포함한 클래스명을 짧은 이름으로 사용하기 위한 별칭 지정..
[ibatis] iBATIS Data Mapper 프레임워크 소개 IBATIS Data Mapper 프레임워크는 관계형 데이터 베이스에 접근할 때 필요한 자바 코드를 줄여준다.간단한 XML 을 사용해서 간단하게 자바를 SQL Statement에 Mapping 한다. * Data Mapper (com.ibatis.sqlmap.*) IBATIS DATA Mapper API는 자바 객체를 PreparedStatement 파라미터와 ResultSets으로 쉽게 Mapping할 수 있게 한다. IBATIS는 자바 코드의 80%를 줄여준다. 1. IBATIS는 어떻게 작동하나? Data Mapper는 자바빈즈, MAP 구현, Wrapper 객체(String, Integer..) 그리고 SQL문을 위한 XML문서를 ..
웹에서 세션(session)의 사용 1. 세션(session)의 개요 쿠키가 웹 브라우저에 사용자의 상태를 유지하기 위한 정보를 저장했다면, 세션(session)은 웹 서버 쪽의 웹 컨테이너에 상태를 유지하기 위한 정보를 저장한다. 세션은 사용자의 정보를 유지하기 위해 javax.servlet.http 패키지의 HttpSession 인터페이스를 구현해서 사용한다. 쿠키는 사용자의 상태 유지를 위한 정보를 웹 브라우저에 저장해서 웹 서버가 쿠키 정보를 읽어서 사용한다.이것은 웹 브라우저에 저장된 쿠키는 웹 서버에서 열어볼 수 있다는 점에서 보안상 문제가 발생할 수 있다. 따라서 사용자의 정보를 유지하기 위해서는 쿠키를 사용하는 것보다 세션을 사용한 웹 브라우저와 웹 서버의 상태 유지가 훨씬 안정적이고, 보..
웹에서 쿠키(Cookie)의 사용 1. 쿠키(Cookie)의 개요 - HTTP 프로토콜은 상태가 없다. 즉 이전에 무엇을 했고, 지금 무엇을 했는지에 대한 정보를 갖고 있지 않는 특성을 가지고 있다.즉, 웹 브라우저(클라이언트)의 요청에 대한 응답을 하고 나면 해당 클라이언트와의 연결을 지속하지 않는다 (Connectionless) - HTTP 프로토콜은 상태에 대한 지속적인 연결이 없다. 따라서 이런 부분을 해결하기 위해서 웹 서버 측에 웹 브라우저의 정보를 저장한 후 계속되는 웹브라우저의 요청 속에 포함되어 있는 웹 브라우저의 정보와 비교해서 동일한 웹 브라우저로부터 온 요청을 판단할 수 있다. - 쿠키(Cookie)는 상태가 없는 프로토콜을 위해 상태를 지속시키기 위한 방법이다. 쿠키는 웹 브라우저..
JDBC 에서의 트랜잭션(Transaction) 처리 트랜잭션(Transaction)은 여러 단계의 작업을 하나로 처리하는 것으로, 하나로 인식된 작업이 모두 성공적으로 끝나면 commit이 되고, 하나라도 문제가 발생하면 rollback 되어서 작업을 수행하기 전단계로 모든 과정이 회수된다. 이것이 트랜잭션이다. 즉, 트랜잭션은 프로그램의 신뢰도를 보장하게 된다. JSP에서도 트랜잭션 처리에 대한 메소드들을 제공한다. 대표적인 예가 쇼핑몰에서 물건을 구매하는 과정이다. 물건을 장바구니에 넣은 후, 구매를 누르면 구매의 단계가 이루어지는데 먼저 구매할 물건을 선택하고 개인정보를 입력하고, 결제를 하게 되는데, 이들 단계 중 하나라도 잘못되면 모든 과정이 처음 장바구니로 돌아간다.이것은 트랜잭션에 의해 구..
JDBC 사용 예제 앞에서 JDBC의 연동 방법 및 사용 객체들을 포스팅하였다. [JSP] JDBC를 사용한 데이터베이스 연동 [JSP] JDBC 프로그래밍에 사용되는 객체 이번 포스팅에서는 JDBC를 사용해 실제로 데이터베이스에 연결하는 예제 코드를 다뤄보겠다. - 예제 환경 > DBMS : MySQL> DB Server IP/Port : localhost:3306> Database Name : jdbcTest> Database ID : testid> Database password : testpw * eclipse 에서 프로젝트에 JDBC MySQL Connector Libarary가 추가되어 있어야 한다. * MySQL 다운로드 페이지 * MySQL 드라이버 다운로드 페이지 1. JDBC를 사용한 ..
JDBC 프로그래밍에 사용되는 객체 1. DriverManager 클래스 - DriverManager 클래스는 데이터 원본에 JDBC 드라이버를 통하여 커넥션을 만드는 역할을 한다.DriverManager는 Class.forName() 메소드를 통해서 생성되는데, 이 메소드는 인터페이스 드라이버를 구현하는 작업이다. - Class.forName("com.mysql.jdbc.Driver") 처럼 특정 클래스를 로딩하면 자동으로 객체가 생성되고 DriverManager에 등록된다.드라이버 클래스를 찾지 못할 경우 forName() 메소드는 ClassNotFoundException 예외를 발생시키므로 반드시 예외 처리를 해야 한다. - 일반적으로 드라이버 클래스들은 로드될 때 자신의 인스턴스를 생성하고, 자동..