자주 사용될 기능들을 미리 구현해 놓은 것.(생산성 향상)
배포는 .jar수행
* 제공되는 기능을 개발자가 상황에 맞게 수정하여 사용한다.
* 생명주기를 개발자가 관리하지 않는다.(new가 최소화된다.)
반조립의 형태.
최소한의 품질보장을 받기 위해서 프레임워크를 도입한다.
Spring, MyBatis, Struts, any framework, lafj, DF framework
자주 사용될 기능들을 미리 구현해 놓은 것.(생산성 향상)
배포는 .jar수행
* 제공되는 기능을 그대로 사용한다.
* 생명주기를 개발자가 관리한다.(new를 개발자가 한다.)
DBMapper Framework(Persistence Framework - 영속성 프레임워크)
Apache Software Foundation에서 iBATIS라는 이름으로 시작한 프레임워크.
다양한 언어를 지원(java, .net)
언어에서 사용하는 데이터 형을 그대로 사용할 수 있다.
유연성이 높다.(쿼리문을 XML로 분리하여 작성하고 사용)
언어의 코드가 간결해진다.
mybatis.org에서 관련 파일을 다운로도 받을 수 있다.



MyBatis Framework 생성
SqlSessionFactoryBuilder : 설정파일과 연결한 stream을 입력받아, DB연결관리, XML 쿼리문 파싱, 파싱된 쿼리문을 실행, 쿼리문을 실행하기 위한 세션을 확립하는 일.
SqlSessionFactory : SqlSessionFactoryBuilder의 부모
SqlSession : MyBatis Handler(MyBatis Framework을 사용하여 DB작업 수행)
설정용 XML과 연결
Reader reader = Resources.getResourceAsReader("설정용.xml");
MyBatis Framework을 생성
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader);
MyBatis를 조작하기 위해 MyBatis Handler얻기(autocommit을 설정으로 수행)
SqlSession ss = ssf.openSession();//autocommit이 해제된 상태로 handler를 얻을 때
SqlSession ss = ssf.openSession(true | false);//true - autocommit이 설정된 상태로 handler를 얻을 때
Handler 사용
ss.insert("mapper.xml의 id");//값 없이 insert할 때
ss.insert("mapper.xml의 id", 값);//값을 사용하여 insert할 때
Transaction 처리
ss.commit(); ss.rollback();
연결끊기
ss.close();
프로그램에서 사용하는 설정 값을 저장하거나, 국제화(여러나라 언어로 서비스)할 때 주로 사용
저장되는 값과 이름을 분리하여 작성. "이름=값"(사용자에러를 감소시킬 수 있다.)
값에 공백이 들어가면 공백까지 값으로 인식.(띄어쓰기 주의)
* 속성의 값을 띄어쓰기하지 말 것.
출력메시지에 대해서는 띄어쓰기 가능.
주석은 #으로 시작
#디비연결설정 이름=값 주의사항) 설정에는 공백을 넣지 마세요
driver=oracle.jdbc.OracleDriver
connectionURL=jdbc:oracle:thin:@localhost:1521:orcl
username=scott
password=tiger

프로그램의 실행정보를 파일로 저장하거나, 출력할 목적으로 사용하는 프로그램
SLF4J, Apache Commons Logging, Log4j 2, Log4j (deprecated since 3.5.9), JDK logging 등 다양한 log가 존재한다.
log는 동작하는 로그레벨이 제공된다.(설정하는 로그레벨에 따라 출력이 달라진다.)
System.out.println(디버그코드); => 반드시 찾아서 삭제해야한다.(관리가 어렵다.)
log level을 사용하면 필요에 따라 출력이 된다. => 소스코드를 건드리지 않아도 된다.