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 |