Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

MyBatis

No description
by

yongsup lee

on 1 May 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of MyBatis

MyBatis 에 대하여 1. iBatis 소개 1. iBatis 소개 개요 2. MyBatis 소개 김용원, 이어진, 이용섭, 전우상, 황형준 2. MyBatis 소개 3. MyBatis 시작하기 4. 실습 3. MyBatis 시작하기 4. 실습하기 JDBC 코드 MyBatis 코드 DB연결을 위한 configuration.xml 쿼리문 실행을 위한 맵핑xml파일 실제 실행을 위한 DBManager config를 불러서 연결처리 맵핑이름으로 불러오기 쉽게 설정한 String sqlSession을 열어서 쿼리문을 처리.
쿼리문 종류에 따라 사용하는 메소드가 다르다. selectList(String stmt)메소드는 select문의 결과를 List<E>로 반환해준다. selectOne은 select구문중 특정 한개만 리턴해준다. 삽입시에는 insert메소드를 사용한다.
insert는 insert의 성공수를 int로 반환한다.
성공시엔 commit으로 결과를 저장하고, 실패시 rollback로 실행취소를 한다. update,insert,delect는 공통적으로 성공결과의 row값을 반환한다. 윗 설명과 크게 다를게 없음. 기본적으로 mybatis는 Parameter를 하나만 처리 가능하나, HashMap을 통해서 여러개의 Parameter를 처리하는 것이 가능하다! resultMap 정의. bean안에 getter와 DB의 colum이름이 다를때 사용하면 편리하다. 이 소스는 컬럼명과 게터명이 동일. resultMap 위에 정의한 대로 처리. parameterType 받는값. 오브젝트 형식으로 받을수 있다.
resultType 결과값. 오브젝트형식으로 넘길수 있다. parameter를 두개이상 받기위해 HashMap을 받는다. 감사합니다 IBATIS 로 넘어가면서…. 구글이 IBATIS 를 인수하면서 이름만 MYBATIS 로 바뀌었을뿐
기본적인 로직은 같은 패턴이니 MYBATIS 와 혼동하지 않아도 된다

MYBATIS 로 넘어가면서 IBATIS 관련 용어들이 조금씩 변경되었다

관련 용어들이 조금씩 변경되었기 때문에 IBATIS 의 디테일한 용어
설명은 SKIP 하고 MYBATIS 설명을 열심히 들으세요 IBATIS 예제
(회원 가입) IBATIS 3. dao.java 2. add.jsp 1. 입력 폼 1. 정보를 입력하고 회원 가입 버튼을 누른다
2. Add.jsp로 넘어간 정보가 bean 에 담기고,
3. bean 에 담긴 정보를 dao로 넘긴다(회원가입 기능메소드 실행) 예제 로직 2. 쿼리문(XML) 1. DB 연결정보(XML) IBATIS ibatis 로 하게 되면 DB 연결정보는 한번만 적어서 파일화 시킨다

추가 기능이 있을시 쿼리문.XML 에 추가 쿼리문만 작성해 준다

지금은 JDBC 와 별차이가 없어 보이지만 기능(클래스와 메소드)이 늘어나면 훨씬
효율적인 코드 작성이 가능하다 DB 해제 DB 연결 IBATIS ??? 기존에 JDBC 에서 사용하던 커넥션 풀 얻어오고 databases source 얻어오고
귀찮은 여러가지 작업들을 xml 파일로 나누어 놨다

쿼리문(XML)과 기능 수행(JAVA)하는 부분을 개별적으로 나누어 놓음으로서
본인이 작업한 소스를 다른 사람들이 보더라도 유지 보수가 수월해 졌다

좀더 간편하고 알아보기 쉽게 그리고 사용하기 쉽게 하기 위해서 만든 프레임 워크

IBATIS 는 상당한 코딩의 축소로 인해 개발자로 하여금 지겨운
노가다에서 해방 5_2. 쿼리문 5_1. 연결정보.xml 4. util 4. 회원가입 기능메소드 실행 되면 xml(연결정보) 파일을 호출하는
util 클래스가 실행되고 DB 랑 연결된다
(연결정보.xml 은 쿼리문.xml 을 가지고 있다)

5. 쿼리문.xml 을 날려 DB 에 데이터(회원 정보)를 저장한다 DataBase 예제 로직 DB 연결 정보 쿼리문 JDBC(JAVA) 쿼리문에 들어가는 물음표와 ps.setString(1,user.getName()); 들은 번거롭다

자바 코드와 쿼리문이 섞여 있어서 보기 불편하고 DB 연결 과
기능수행(입력,삭제,출력 등) 을 하나의 클래스에 묶어 놓기 때문에 상당히
비효율적인 코드가 된다 3 2 1 1. 1 이 실행되면 2 를 등록하고 2 에서는 3 을 연결한다
2. 동시에 1 에서 기능을 수행하는 메소드(입력,삭제 등)를 찾는다
3. 3 에서 쿼리문을 찾은뒤에 DB에 연결
4. 실행 IBATIS 로직 2. 쿼리문.xml 에 접근 1. 연결정보.xml 등록 2. 쿼리문.xml 을 가지고 있다
(jsp 명령어 include 라고
생각하면 된다) 1. 아이디, 비밀번호, Driver,
url 정보 쿼리문 작성 DataBase 쿼리문.xml 연결정보.xml DAO.java (기능수행 클래스) 기능수행 2.MyBatis 소개

2.1 MyBatis란?
2.2 MyBatis의 구조
2.3 MyBatis 장점
2.4 MyBatis와 iBatis 비교 2.4 MyBatis, I-Batis 비교 -마이바티스 코드는 매번 데이터베이스 자원을 생성하고 해제하기 위한 코드가 필요하지 않다.

-파라미터를 정하기 위한 코드가 거의 없다.

-결과셋을 가져와서 값을 설정하는 코드가 거의 없다.

-SQL이 자바 코드 내의 문자열로 처리되는 반면에 MyBatis는 SQL을 XML이나 인터페이스 내의 ANNOTATION으로 별도 관리한다.

-MyBatis를 구성하는 요소로는 5가지로 설정파일, 매퍼, 결과 매핑, 매핑 구문, 파라미터 타입, 결과 타입이다. 2.3 정리. MyBatis의 장점 2.1 MyBatis란? *자바의 관계형 데이터베이스 프로그래밍을 좀더 쉽게 할 수 있게 도와주는 개발
프레임워크다.

*JDBC를 좀더 편하게 사용하기 위해 개발된 I-Batis에서 업그레이드된 프레임워크다.

*JDBC AIP를 사용할 때의 불편함을 없애준다.

*JDBC를 사용할 때의 중복 작업 대부분을 없애준다.

*SQL을 XML이나 ANOTATION으로 정의하기 때문에 관리하기 편하다. 2.2 MyBatis 구조 라이브러리 다운로드 및 추가하기 설정파일 및 맵핑파일 작성 매퍼 XML 매퍼 설정 XML 매퍼 XML <dataSource> 매퍼 설정 XML 이 구문의 이름은 selectMember
조건이 필요하여 파라미터 있음
파라미터가 id이므로 type은 String
결과 데이터는 YongMember에 저장 <select>(2) 이 구문의 이름은 selectAllMember : 구문을 찾기 위해 사용되는 구분자
조건이 없기 때문에 파라미터 없음
결과 데이터는 YongMember에 저장 <select> 환경을 설정하는
방법 정의 (ex 개발,
테스트, 리얼 환경 등)
다중환경 설정 가능

디폴트 환경 ID
각각의 환경을 정의한 환경 ID
TransactionManager 설정
DataSource 설정 <environments>
└<environment> 데이터를 변경하는 구문인 d,I,u는 매우 간단 <delete>/<insert>/<update> ●매핑된 SQL 구문을 정의


상대적으로 리소스를 지정





Url을 통해 지정 <mappers> 두가지 타입의 TransactionManager <transactionManager> 오라클
http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
mysql
http://www.mysql.com/download/connector/j/
sqlserver
http://msdn.microsoft.com/ko-kr/sqlserver/aa937724.aspx
DB2
http://www-01.ibm.com/support/docview.wss?uid=swg21363866
큐브리드 http://www.cubrid.com/zbxe/?_filter=search&mid=bbs_developer_reference&search_target=title&search_keyword=jdbc&document_srl=45079 각종 DB드라이버 다운로드 주소 카페 공지사항에 올라와있으니 참고 아래 사이트 접속
https://code.google.com/p/mybatis 2. MyBatis 다운받기(1) 1. MyBatis 매뉴얼 다운받기(2) 2. MyBatis 다운받기(2) 아래 사이트 접속
https://code.google.com/p/mybatis 1. MyBatis 매뉴얼 다운받기(1) 프로젝트 lib에 추가하기 다운받은 파일 압축풀기 3. Jar 파일 Library에 추가하기
Full transcript