Spring - Legacy Project 만들기 2(mybatis - db 연결)

2022. 6. 8. 14:29·STUDY/SPRING
반응형
MyBatis(iBatis)
  마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크
  JDBC로 처리하는 상당부분의 코드와 파라미터 설정 및 결과 매핑을 대신해준다.
  DB 레코드에 원시타입과 Map 인터페이스, 자바 POJO를 설정해서 매핑하기 위해 XML과 어노테이션을 사용

DB/SQL 관련 동작을 쉽게 처리해주는 프레임워크 = SQL Mapper 라이브러리
  - DB연결, Try-Catch-finally 구문, pstmt, rs 구문을 훨씬 간결하게 처리
  - spring과 연동이 매웅 편함 (MyBatis-spring 라이브러리)
  - 동적 sql 구문 사용 가능(= 코드 제어)

*MyBatis 사용방식
 1. XML만 사용하여 SQL구문을 처리, DAO에서는 XML코드를 찾아서 실행함
     장점 : SQL 쿼리 수정 및 유지보수가 편함
     단점 : 개발 분량이 증가, 복잡도 증가
 2. 어노테이션 & 인터페이스를 사용한 SQL구문 사용
     장점 : DAO객체 없이도 개발 가능, 생산성 증가
     단점 : SQL 애너테이션으로 생성하기 때문에 수정할 때 마다 매번 컴파일을 해야함
 3. 인터페이스 + XML 모두 활용
     장점 : 간단한 구문은 애노테이션, 복잡한 구문은 XML코드로 표현함
     단점 : 개발자에 따라 간단/복잡의 기준이 다름

1. 기본설정 pom.xml

      : MVNREPOSITORY 에서 Mysql connector, myBatis, myBatisSpring, spring-jdbc, spring test-context framework 다운

2. Maven 업데이트

 

3. root-context.xml설정

  - DataSource 객체

    DataSource 객체는 DB의 모든 리소스를 지칭하는 포괄적인 개념으로 JDBC 2.0 표준의 확장 API로 처음 소개되었음

    =JDBC를 이용해 DB에 연결 해주는 객체!

  * DataSource 객체 관련 내용

 ** 연결됐는지 확인하기!

src/main/resource에 mybatis-config.xml 파일 생성 > dtd 추가!

 - sqlSessionFactory 객체 생성

    : DB연결, mybatis 설정, mapper 연결 해주는 객체

4. Mybatis 연결됐는지 테스트하기

  *datasource객체, sqlsessionFactory 객체 생성

  * 마이바티스 연결 테스트

  * 마이바티스 연결 체크

    > @test 어노테이션 꼭 붙이기!!

 

5. Mapper 만들기

  - scr/main/resource 밑에 mapper 폴더 생성 > memberMapper.xml 생성

  - dtd 가져오기

  - mapper namespace 생성 > 내가 만든 이름 : 외부에서 호출할 때 사용

  - 지금 시간을 가져오는 sql 작성

6. 이 mapper를 인식할 수 있게 root-context.xml에서 경로 설정

7. sqlSessionTemplate 객체 생성

 8. 데이터 베이스 생성

 9. 테이블 생성 & 설정

 10. 도메인 객체 설계, 클래스 생성(MemberVO) & getter,setter 생성

11. root-context.xml에 persistence 패키지 추가

12. DAO인터페이스 생성(MemberDAO)  & 인터페이스 안에 내가 필요한 동작 구현(추상메서드로)

13. DAO객체 생성(/SpringMVC/src/main/java/com/itwillbs/persistence/MemberDAOImpl.java)
   =>memberDAO를 임플리먼츠했음 

@repository 하면 옆에 S표시

14. 임플리먼츠에 디비연결정보가 필요함 => 의존주입

    - 쿼리 구문 가져오기

   - mapper 주소값 저장

   - 결과 값 저장

15. 테스트하기

에러...

>>>root-context에서는 mappers로 작성해놨는데

실제 폴더명을 mapper로 해놨었음....

다시 테스트하면 정상적으로 작동함

 

 

 

반응형
저작자표시 (새창열림)

'STUDY > SPRING' 카테고리의 다른 글

spring - 회원가입(MyBatis - DB연결 연습)  (0) 2022.06.09
spring ========Mybatis로 DAO와 DB를 연결 =======  (1) 2022.06.08
Spring - Legacy Project 만들기  (1) 2022.06.07
Spring 기초 관계  (0) 2022.06.07
spring 설치하기  (0) 2022.06.03
'STUDY/SPRING' 카테고리의 다른 글
  • spring - 회원가입(MyBatis - DB연결 연습)
  • spring ========Mybatis로 DAO와 DB를 연결 =======
  • Spring - Legacy Project 만들기
  • Spring 기초 관계
3unB
3unB
  • 3unB
    ILLILI
    3unB
  • 전체
    오늘
    어제
    • 분류 전체보기 (153)
      • STUDY (109)
        • JAVA (31)
        • SPRING (29)
        • JSP (11)
        • DATABASE (19)
        • HTML (0)
        • CSS (4)
        • GITHUB (2)
        • ETC (5)
        • 자격증 (1)
        • ERROR (6)
      • PROJECT (6)
        • Personal_Project 01 - commu.. (1)
        • TeamProject - JOINUS (4)
      • EUNB (30)
        • 맛집 (27)
        • 여행 (3)
        • 전세사기 (0)
      • 오블완챌린지 ++ (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 짱민지
    • 아랄이
  • 공지사항

  • 인기 글

  • 태그

    배열 한 컬럼에 넣기
    전포 오꼬노미야끼
    전포 데이트
    Database
    전포 연어덮밥
    망미 조용한 카페
    전포 밥집
    망미 바
    인제 고향집
    mysql
    전포 신상 맛집
    전포 맛집
    서면 맛집
    콩콩팥팥 맛집
    속초 숙소 내돈내산
    망미 테린느
    콩콩팥팥 두부
    전포동 맛집
    망미 카페
    alter
    oracle
    속초 중앙시장 감자전
    인제 두부
    서면 설야멱
    티스토리챌린지
    센텀 신세계백화점 팝업
    오블완
    속초 해변 숙소
    전포동 핫플
    전포동 카페
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.0
3unB
Spring - Legacy Project 만들기 2(mybatis - db 연결)
상단으로

티스토리툴바