* Framework 

Framework란 , 개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고 ,
코드의재사용성을 증가 시키기 위해 일련의 클래스 묶음이나 뼈대 틀을 제공하는라이브러리를
구현해 놓은 것을 말함

 

Framework의 특징 

- 개발자가 따라야하는 가이드를 제공
- 개발할 수 있는 범위가 정해져있음
- 개발자를 위한 다양한 도구 , 플러그인들을 지원

장점 ) 개발시간 줄일 수 있음 / 정형화되어 있어 일정수준 이상의 품질을 기대 / 유지 보수 쉬움

단점) 너무 의존하면 개발자들의 능력이 떨어져 스스로 직접 개발하는 것이 어려워짐 / 습득에 시간 걸림


MyBatis 

MyBatis란, 데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편리하게 하기 위해 xml로 구조화한 Mapper설정 파일을 통해서 JDBC를 구현한 영속성 프레임 워크

기존에 JDBC를 통해 구현했던 상당부분의 코드와 파라미터 설정 및 결과 매핑을 xml설정을 통해 쉽게 구현할 수 있음 

 

mybatis-config설정하기 -> my batis 환경설정 관련 파일 

- resources 라는  Source Folder를 생성하고, mybatis-config.xml 파일 등록

xml최상단에 mybatis config설정임을 선언 

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "https://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration> 최상위 태그를 작성하고 내부에 필요한 설정들을 작성

<setting> : mybatis구동시 선언할 설정들을 작성 

<settings>
	<setting name ="jdbcTypeForNull" value="NULL" />
</settings>

<typeAliases>:  mybatis에서 사용할 자료형의 별칭을 선언하는 태그 ,
VO/DTD클래스들의 풀클래스 명을 별칭으로 등록해두는 영역 

<typeAliases>
		<typeAlias type="com.br.mybatis.member.model.vo.Member" alias="Member" />
</typeAliases>

<environments> : 연동한 DataBase정보를 등록하는 태그

<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC"/>
			<dataSource type="POOLED">
			 	<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
			 	<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
			 	<property name="username" value="mybatis" />
			 	<property name="password" value="mybatis" />
			</dataSource>
		</environment>
	</environments>

  <transactionManager type="JDBC | MANAGED" />

- > JDBC : 트랜잭션을 내가 직접 관리 (수동 commit) / MANAGED :트랜잭션 자동commit

 <datatSource type="POOLED | UNPOOLED" />

   ->    POOLED : Connection 객체를 생성할 때 해당 정보를 pool영역에 저장해두고 이후 Connection 객체를 생성할 때 이를 재사용함

 

<mapper> :  실행할  sql문들을 기록해둔 mapper파일들을 등록하는 영역

	<mappers>
		<mapper resource="/mappers/member-mapper.xml" />
		<mapper resource="/mappers/board-mapper.xml" />
	</mappers>

 

 

 

'Framework > Mybatis' 카테고리의 다른 글

04. mybatis 페이징 처리  (0) 2023.02.15
03. mybatis filter 클래스  (0) 2023.02.15
02. mybatis를 이용한 CRUD  (0) 2023.02.14
복사했습니다!