개발/KH국비지원과정

[KH국비지원 웹개발자 과정] Day_53 키워드, 프레임워크, 마이바티스,

mabb 2022. 8. 29. 18:20
반응형

 해당 포스팅은 강의 복기용으로 키워드를 기록하는 용도의 포스팅입니다.
--------------------------------------------------------------------------------------------------

 프레임워크란?
:코드 개발시간을 줄이고 코드의 재사용성을 증가시키기 위한 일련의 클래스묶음, 뼈대, 틀.

라이브러리가 일반 연장이라면 프레임워크는 특정 기능을 수행하는 기계에 비유할 수 있다.
-> 라이브러리는 사용 자유도가 높음. 프레임워크는 틀을 사용하기 위한 사용법이 정해져있다.

프레임워크의 특징
1. 개발자가 따라야하는 가이드를 제공함
2.개발할 수 있는 범위가 정해져있음
3. 개발자를 위한 다양한 도구, 플러그인을 지원함

프레임워크의 장점
1.개발시간 단축
2.정형화 되어 있어 일정 수준 이상의 품질 기대
3.유지 보수 용이

프레임워크의 단점
1. 너무 의존 시 개발 능력이 떨어짐. (이건 나중의 문제)
2.프레임워크를 습득하는 시간이 오래걸림

대표적인 프레임워크의 종류
:Mybatis, Spring, Bootstrap, Log4j 등등...

Mybatis Framework
:JDBC를 통해 구현했던 상당부분의 코드와 파라미터 설정 및 결과 매핑을 XML과 어노테이션 설정을 통해 처리할 수 있게된다.

ibatis 에서 mybatis로 버전이 업그레이드 된 것

마이바티스 설정을 위한 xml 파일에는 마이바티스 공식홈페이지의 dtd를 붙여넣어 주어야 관련 태그를 사용할 수 있다.

마이바티스 실습)
대략적인 흐름
1. 다이나믹웹프로젝트생성
2. lib폴더에 ojdbc.jar와 mybatis.jar 추가
3. java 패키지 설정
4. java 소스와 분리하여 xml 파일 생성 (mapper패키지)
5. 자바소스와 xml설정파일을 분리하는 것이 포인트
6. SqlSessionTemplate 클래스 생성
 SqlSession 객체 session을 return하는 메소드.
7.session을 이용하여 쿼리문부터 트랜젝션(커밋,롤백) 등등 수행

마이바티스를 사용하면 select문이 특히 간결해진다.
대신 mapper.xml에 resultMap 설정을 해주어야 한다.

primary key는 id태그를 사용하고 나머지는 result 태그를 사용한다.

에러발생)
부적합한 열 유형: 1111
->마이바티스에 null로 인식하게 하는 설정을 해주어야 #{}속의 널값을 인식한다고 함.
memberId가 null이라고 해도 #{memberId}가 null로 인식되는 것은 아닌 모양임.

 

마이바티스 파일 생성 순서
1.패키지 모두 생성
2.인터페이스 , 클래스 모두 생성
3.SqlSessionTemplate 코드 작성
4.소스폴더 생성 후 mybatis-config.xml생성
5.dtd 입력하고 xml 접속정보 설정(태그)
6.SqlSessionTemplate으로 가서 session 객체 생성할 코드 작성
7.Controller, Service, Store 순으로 작성한 후에 StoreLogic에서 mapper.xml필요
8.resources폴더 밑에 패키지 만들고 mapper.xml 만들고 dtd입력 후 쿼리문 작성
9.mapper.xml경로를 mybatis-config.xml에 등록

 

 

 

 

반응형