IT 관련,,/중요문자 적어두기

[SPRING]스프링 ibatis란,,

IT깡패's 2018. 7. 29. 21:23
728x90
반응형
SMALL


스프링 Ibatis란,,

 더 빠른 JDBC 코딩을 위한 일반화된 프레임워크

- SQL 매퍼 + DAO 프레임워크

Ibatis는 데이터베이스에 있는 자원들을 보다 편리하게 가져오기 위한 프레임워크이다.

XML서술자를 사용해서 간단하게 자바빈즈를 PreparedStatement의 바인드 변수인 파라미터와

ResultSet으로 맵핑시켜주는 기능으로  SQL Maps 또한 ORM이라고도 한다.

iBATIS 데이터 매퍼 프레임워크는 관계형 데이터베이스에  접근할 때 가독성, 유지보수성, 생산성 등을 향상시켜준다.

위글의 설명과 같이 Ibatis(아이바티스)는 SQL에 기반한 데이터베이스와 자바. 닷넷, 루비등을 연결시켜주는 역할을 하는 영속성 프레임워크이다.

이러한 연결은 프로그램의 소스코드에서 SQL문장을 분리하여 별도의 XML 파일로 저장하고 이 둘을 서로 연결시켜주는 방식으로 작동한다.



데이터 매퍼란,,

Ibatis 데이터매퍼 API는 프로그래머에게 자바빈즈 객체를 PreparedStatement 파라미터와 ResultSets으로 쉽게 매핑할 수 있도록 한다. 


이는 자바코드의 20%를 사용하여 JDBC기능의 80%제공하는 간단한 프레임워크라는 뜻이다.


데이터 매퍼는 자바빈즈, Map구현체, 원시래퍼타입(String, Integer..) 그리고 SQL문을 위한 XML문서를 매핑하는 XML서술자를 사용하는 매우 간단한 프레임워크를 제공한다.


데이터 매퍼가 관리하는 생명주기는 다음과 같다.


IBatis 적용 예

- account.xml


- java
Account act = (Account) sqlMap.queryForObject("getAccount",new Integer(5));


Ibatis는 XML 에 정의한 SQL 문을 이용하여 일반적으로 작성하는 데이터베이스 프로그래밍의 코드를 현저하게 줄여주는 Database Mapper Framework 이다.


Ibatis는 Apache Project 에서 나온 오픈소스이며, 자바진영에서는 매우 많이 사용되는 Data Mapper 프레임워크이다.


일반적으로 Web Form 에서 사용자가 데이터를 입력하고 submit 을 하게 되면 데이터베이스에 입력하기 위해서 아래와 같은 방법을 취하게 된다.



 

1. 입력된 데이터 검증.


2. SqlConnection 생성 및 연결


3. SqlCommand 에 파라미터를 대입


4. 데이터베이스에 입력


5. 데이터베이스 연결 종료



그리고 ibatis를 mapper에 등록한 코드를 살펴보자~~




     
        

        
        >
        
        
        
        
     
 


         INSERT INTO member (userName, userId, passwd, email, regDate, etc)
         VALUES (#userName#, #userId#, #passwd#, #email#, #regDate#, #etc#)
       
          select @@IDENTITY as value
       
   
 


또 Ibatis의 개념이 있는데,


ORM이란 개념을 살펴보잣~~


 ORM이란 용어에도 나와있듯이 객체(Object)와 관계(Relation)을 연결(Mapping)해 주는 개념이다.

   객체와 테이블 시스템(RDBMSs)을 변형 및 연결해주는 작업이라 말 할 수 있다. 

   ORM을 이용한 개발은 객체와 데이터베이스의 변형에 유연하게 대처할 수 있도록 해준다.

   ORM을 객체 지향 프로그래밍 관점에서 생각해보면, 관계형 데이터베이스에 제약을 최대한 받지 않으면서, 객체를 클래스로 표현하는 것과 같이 

   관계형 데이터베이스를 객체처럼 쉽게 표현 또는 사용하자는 것이다.


HIBERNATE, IBATIS, MYBATIS등을 ORM이라 부른다.


ORM을 사용하기 위해서는 특히 mapping을 사용할 수 있다. 


ORM자체가 sql문 사용을 줄이고 간편하고 쉽게 스프링(특히 게시판)을 사용하기 위해서 나오게 된 듯하다!!


웹개발을 하기위한 코딩공부는 해야할 양이 참 많은 듯 하다~


열심히 해서 독파하는 수 밖에,,,

728x90
반응형
LIST