Framework란 ?
1.
Framework란 ? 클래스묶음이나, 뼈대, 틀을 제공하는 라이브러리를 구현해 놓은것을 말한다.
2.
개발자가 따라야하는 가이드제공, 범위가 정해짐, 개발자를 위한 다양한 도구, 플러그인 지원
Framework의 장단점
Mybatis에 Session은 Connection역할을 해준다라고 생각하면 편하다. mybatis-config.xml은 프로젝트에 한개만 존재한다
2.Mapper설정하기
1.
mapper폴더를 생성하고 mapper.xml파일을 등록한다.
2.
xml파일안에 select는 select로 등록해야하고 update,insert,delete다 동일하다
3.
그리고 각 crud문에 id값을 줘서 그 id값에 맞춰 찾아간다.
4.
그 내부에 쿼리문을 작성한다.
5.
그리고 여러개의 mapper가 존재할수 있으므로 각 mapper마다 namespace를 등록해준다.
6.
즉 원하는 namespace에 mapper로 찾아가 그 안에 있는 원하는 id값이 있는 쿼리문을 조회후 실행
3. 환경설정
1.
java 로 설정
2.
encoding type 을 UTF-8로 변환
3.
maven에서 mybatis 3.4.6 jar파일 다운
4.
lib파일 생성후 담기
5.
buildPath에서 library에 mybatis add해주기
4. Java에서 mybatis 설정하기
•
private로 DRIVER,URL,USER,PASSWORD를 선언해주고 Environment environment = new Environment();해주기
•
오류가 나는 이유는 기본생성자가 없어서 이다
•
아래와 같이 설정해주자
•
new PooledDataSource는 DRIVER,URL,USER,PASSWORD를 나타낸다.
•
mybatis설정하기위한 Configration을 설정한다
•
Sqlsession은 그냥 만들어주지 못하고 SqlSessionFactory를 이용해서 만들 수 있다
•
설정객체의 매퍼등록해주기
SqlSessionFactory : SqlSession 객체를 생성하기 위한 팩토리 역할을 수행하는 인터페이스
SqlSessionFactoryBuilder : SqlSessionFactory 인터페이스 타입의 하위 구현객체를 생성하기위한 빌드역할 수행 build() : 설정에 대한 정보를 담고 있는 Configuration 타입의 객체 혹은 외부 설정파일과 연결된 스트림을 매개변수로 전달하면SqlSessionFactory인스턴스를 반환하는 메소드
여기까지가 SqlSession을 만들어주는 코드내용이다.
5. Mapper 인터페이스에서 쿼리만들어주기
mapper인터페이스를 만들고 어노테이션을 주면 쿼리문을 생성할 수 있다.
Environment environment = new Environment("dev",
new JdbcTransactionFactory(),
new PooledDataSource(DRIVER, URL, USER, PASSWORD));
Configuration configuration = new Configuration(environment);
configuration.addMapper(Mapper.class);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration);
SqlSession sqlSession = sqlSessionFactory.openSession(false);
System.out.println("sqlSession : " + sqlSession);
Mapper mapper = sqlSession.getMapper(Mapper.class);
java.util.Date date = mapper.selectSysdate();
System.out.println("date : " + date);
--------------------------------------------------
package com.greedy.section01.javaconfig;
import org.apache.ibatis.annotations.Select;
public interface Mapper {
//Mapper인터페이스를 생성해 여기서 쿼리작성
//어노테이션 이용, 어노테이션이 이용하기위해서는 메소드가 필요하다.
@Select("SELECT SYSDATE FROM DUAL")
//selectSysdate는 위에 쿼리문에 별칭이다!
//그리고 그걸어떤식으로 반환하는지에대한게 앞에있는 java.util.date
java.util.Date selectSysdate();
}
Java
복사