0_mybatis_세팅,개요

study/mybatis · 2020. 2. 12. 09:01

1. 워크스페이스 생성

- 6_Mybatis 폴더 생성

2. 인코딩설정

- json 까지

2-1. 서버추가

- preperence 에서 server 검색해서 runtime envi~~~

2-2. 프로젝트추가

mybatisProject 추가

3. 각종라이브러리 추가(8개)

- cos, gson, mybatis-3.5.4, ojdbc6, taglib4가지

4. 프로젝트 최상단에 Source Folder 추가

- folder(소스폴더) 프로젝트네임 : 브라우저눌러서추가 , 폴더이름 : resources

# Source Folder

-> class path 경로에 잡히는 폴더

4-1. mybatis-config.xml 설정파일생성 시 DTD(Document Type Definition) 설정

>> mybatis-config.xml 설정 파일 생성 시 DTD 설정을 해두면, mybatis 관련 

>> xml 파일 설정할 때 재사용 할 수 있음

Window - Preferences - XML - XML Catalog - User Specified Entries - Add
- Config
Location :
http://mybatis.org/dtd/mybatis-3-config.dtd
=> System ID로 사용
    
Key type : Public ID
    
Key : 
-//mybatis.org//DTD Config 3.0//EN

     
- Mapper
Location : 
http://mybatis.org/dtd/mybatis-3-mapper.dtd
 => System ID로 사용
    
Key type : Public ID
    
Key : 
-//mybatis.org//DTD Mapper 3.0//EN

5. resources 폴더에 mybatis-config.xml 생성

>> DTD 파일로 부터 xml 파일 생성

1) resources 오른쪽 버튼 -> new -> XML File -> mybatis-config.xml 생성

2) Create XML file from a DTD file -> next

3) Select XML Catelog entry -> 해당 entry 선택 (DTD Config 3.0//EN ~~) next -> finish

mybatis-config.xml 수정

마이바티스 홈페이지 들어가서 시작하기 누르면 XML에서

SqlSessionFactory 빌드하기 찾음

<?xml version="1.0" encoding="UTF-8"?>

<!-- XML 문서의 유효성 체크를 위해 필요한 부분 -->
<!DOCTYPE configuration 
	PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
	"http://mybatis.org/dtd/mybatis-3-config.dtd" >

<!-- 마이바이트 설정과 관련된 기본 세팅들을 선언할 수 있는 영역-->
<!-- ** configuration 내부에 작성되는 요소는 작성되는 순서가 존재하므로
	 작성시 순서 틀리지 않게 조심할 것!!!!
-->
<configuration>
	<!-- 1. 마이바티스 기본세팅 선언 -->
	<settings>
		<setting name="jdbcTypeForNull" value="NULL"/>
		<!-- 만약 null 형태로 데이터가 전달이 된 경우 
			  빈칸이 아닌 NULL(반드시 대문자로!)로 인식해라 라는 뜻
		-->
	</settings>
	
    <!-- 얼라이언스 설정 나중에 필요한 부분
	<typeAliases>
		<typeAlias type="com.kh.mybatis.member.model.vo.Member" alias="Member"/>
	</typeAliases>
    -->
	<!-- DB 연결에 대한 설정 정보를 선언하는 부분 -->
	<environments default="development">
		<environment id="development">
		
			<!--  
				마이바티스 설정 중 핵심은 
				트랜잭션 제어를 위한 transactionManager,
				데이터 베이스 Connection 인스턴스를 얻어오기 위한
				dataSource 설정이다.
			-->
			<!-- transactionManager는 JDBC, MANAGED 두가지 타입제공 
				MANAGED : 개발자가 트랜잭션 처리에 대해 어떤 영향도
						    행사하지 않는다는 옵션(자동 commit)
						  -컨테이너 트랜잭션의 모든 생명주기 관리함.
						  + 기본값으로 사용된 커넥션을 close함
				JDBC : JDBC가 commit, rollback을 
					      직접 제어하는 옵션(수동 commit)
					   - 트랜잭션의 scope를 관리하기 위해 dataSource로
					   부터 커넥션 인스턴스를 얻어와야 함
			-->
			<transactionManager type="JDBC" />
			
			<!-- type="POOLED" -> Connection pool 사용한다는 설정 -->
			<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="server" />
				<property name="password" value="server" />
			</dataSource>
		</environment>
	</environments>
	
	<!-- DB에 사용되는 쿼리문들을 담은 파일(mapper)을 등록하는 부분-->
	<mappers>
    	<!-- 나중에 추가하는 부분
		<mapper resource="/mappers/member-mapper.xml"/>
         -->
	</mappers>
</configuration>

 

@@@Framework란?

개발시간을 줄이고, 코드 재사용성을 높이고 뼈대, 틀을 라이브러리 형태로 제공

틀로 쓰냐?(Framework)/도구로 쓰냐?(lib)

흐름을 누가 쥐고 있느냐?

1. 개발자가 따라야 하는 가이드를 제공한다

2. 개발할 수 있는 범위가 정해져 있다.

3. 개발자를 위한 다양한 도구, 플러그인들을 지원함

@@@Mybatis

Mybatis란?

CRUD를 보다 편하게 하기 위해 xml로 구조화한 Mapper 설정 파일을 통해서

구현한 영속성 프레임워크

'study > mybatis' 카테고리의 다른 글

2_mybatis_(다중조건검색)  (0) 2020.02.17
1_mybatis_흐름  (0) 2020.02.13