section01.xmlconfig)mybatis-config.xml (전역 설계도)
<environments>: 실행 환경(dev) 정의
<transactionManager type="JDBC"/> → 수동 커밋(JDBC 트랜잭션)<dataSource type="POOLED"> → 커넥션 풀(커넥션이 준비되어 있는 공간)<mappers>: 사용할 매퍼 파일 등록 → mapper.xml
<mapper resource="mapper.xml"/>mapper.xml (SQL 메뉴판)0. 세팅
namespace="mapper" : 이 매퍼의 이름공간
<select id="selectNow" resultType="java.util.Date">
→ 호출 키: mapper.selectNow
→ 반환 타입: java.util.Date(DB의 데이터 결과가 매칭되는 자바타입)
→ SQL: SELECT NOW()
→ 세미콜론을 작성하면 syntax error발생

Application (실행 흐름)
Resources.getResourceAsStream("mybatis-config.xml")
→ 전역 설계도(XML)를 스트림으로 로딩
new SqlSessionFactoryBuilder().build(inputStream)
→ 설계도로 SqlSessionFactory(공장) 생성(싱글톤 성격)
sqlSessionFactory.openSession(false)
→ SqlSession(작업자) 생성
→ false = 자동 커밋 끔(수동 커밋 모드)
→ SELECT만 하면 커밋 필요 없음 DML(INSERT/UPDATE/DELETE)은 commit() 해야 반영
session.selectOne("mapper.selectNow")
→ 매퍼키 = namespace.id
→ 단일 행
finally { session.close(); }
→ 세션 반납(풀에 반환)