마이바티스
-
MyBatis - selectKey 사용하기MyBatis 2019. 3. 6. 22:32
selectKey 는 insert 구문이 실행되기 전 후 로 나누어서 사용할 수 있다. 아래의 예시는 insert가 되기 전 시퀀스의 값을 받아오는 것이다. select seq_authorno.currval from dual insert int Author values (seq_authorno.nextval, #{name}) insert가 된 후 시퀀스의 값을 받아오는 예시이다. insert int Author values (seq_authorno.nextval, #{name}) select seq_authorno.currval from dual order 속성으로 구분되는 데 BEFORE 와 AFTER 가 있다. keyProperty 속성은 selectKey 구문의 결과가 저장되는 대상 프로퍼티를 적어..
-
Spring - MyBatis 설정하기Spring 2019. 2. 20. 21:49
스프링에서 MyBatis를 사용하기 위한 설정을 해보자. 1. root-context.xml root-context.xml 에 MyBatis에 대한 설정을 넣어준다. username 과 password는 사용하는 계정의 이름과 비밀번호를 넣어준다. 2. config와 mapper 생성 마이바티스를 세팅해본적이 없다면 마이바티스 세팅하기 를 참고하자 src/main/resources 밑에 mybatis-config.xml 파일을 생성한다. 위의 글에서는 environments 와 mapper를 설정하지만 스프링에서는 root-context에서 설정했기 때문에 하지 않는다. src/main/resources 밑에 mapper 폴더를 만들고 test-mapper.xml 파일을 생성한다. mapper는 기본 설..
-
MyBatis - 페이징 처리MyBatis 2019. 2. 17. 23:22
마이바티스를 이용하여 페이징 처리하기 RowBounds 를 이용하여 처리하게 된다. RowBounds row = new RowBounds(offset , limit); RowBounds 객체는 위와 같이 선언하여서 사용한다. offset 과 limit 값을 넣어주게 된다. offset은 데이터를 가져오는 시작점에서 얼마나 떨어진 데이터인지를 의미하며 limit은 몇 개의 값을 가져올지를 의미한다. RowBounds row = new RowBounds(offset , limit); List list = session.selectList("emp.searchEmpList", null, row);select 메소드로 동일하게 데이터를 가져오며 3번째 매개변수의 위치에 RowBounds 객체가 들어간다. 파라미..
-
MyBatis - 동적 쿼리 사용하기MyBatis 2019. 2. 12. 23:00
1. 기본적인 동적 쿼리 SELECT * FROM KH.EMPLOYEE WHERE ${searchType} = #{keyword} map 형식으로 검색 타입과 키워드를 받아와서 처리했다. WHERE 절에서 검색 타입은 ${ } 로 전달하며 키워드는 #{ } 로 전달한다. ${ } 는 파라미터 값이 그대로 들어가며 #{ } 는 파라미터 값이 ' ' 으로 감싸진다. 달라지는 검색 조건에 대응할 수 있다. 2. if문을 이용한 동적 쿼리 SELECT * FROM EMPLOYEE WHERE 1=1 AND NAME LIKE '%' || #{keyword} || '%' AND GENDER = #{gender} if문을 이용한 동적 쿼리 이다. if문을 이용하는 방법은 EL..
-
MyBatis - 데이터를 삽입하는 방법들MyBatis 2019. 2. 11. 20:20
마이바티스로 데이터를 삽입하는 방법들 1. 고정된 값 넣기 파라미터를 가지지 않는 sql 의 경우이다. INSERT INTO STUDENT VALUES(SEQ_STUDENT.NEXTVAL, '둘리', '01012345678', 'ABCD@NAVER.COM', '경기도 성남시', DEFAULT) 변하는 값이 없이 매번 같은 값이 들어가게 된다. 2. 파라미터를 이용하여 넣기 파라미터는 #{변수 이름} 으로 사용한다. INSERT INTO STUDENT VALUES(SEQ_STUDENT.NEXTVAL, #{name}, '01043215698', 'ABC@NAVER.COM', '서울시', DEFAULT) 이번에..
-
MyBatis - 데이터 가져오는 방법들MyBatis 2019. 2. 8. 14:19
1. selectOne SqlSession의 selectOne 메소드를 이용하는 방법이다. selectOne 메소드는 하나의 값만 가져올 경우에 사용한다. 첫번째 매개변수는 mapper의 namespace . select 태그의 id 값을 넣어준다. 두번째 매개변수는 Object 형식으로 변수를 넣어준다. (옵션) String name = session.selectOne("student.selectName", studentNo); mapper 에서는 다음과 같이 입력한다 SELECT STUDENT_NAME FROM STUDENT WHERE STUDENT_NO = #{studentNo} parameterType은 파라미터의 타입이며 resultType 은 반환 값의 타입이다. 2. 데이터를 객체로 받기 (..
-
MyBatis - 데이터 삽입하기MyBatis 2019. 2. 4. 17:30
Mybatis를 이용하여 데이터베이스에 데이터를 삽입해보겠습니다. 이 글을 보시기 전에 mybatis 설정이 안되있다면 MyBatis 시작하기 를 참고하세요 데이터베이스에 테이블과 시퀀스 생성하기 데이터를 삽입하기 위해 아래와 같은 테이블과 시퀀스를 생성합니다. create table student( student_no number primary key, student_name varchar2(30) not null, student_tel char(11) not null, student_email varchar2(50), student_addr varchar2(256), reg_date date default sysdate ); create sequence seq_student;가상의 데이터도 하나 넣어..
-
MyBatis 시작하기 (기본 세팅하기)MyBatis 2019. 2. 2. 19:55
Mybatis란? 마이바티스는 개발자가 지정한 SQl, 저장 프로시저, 몇 가지 고급 매핑을 지원하는 영속성 프레임워크입니다. JDBC로 처리하는 상당 부분의 코드와 파라미터 설정 및 결과 매핑을 대신 해줍니다. Mybatis 시작하기 mybatis.jar 파일 다운로드 마이바티스를 사용하기 위해서는 mybatis.jar 파일을 라이브러리에 넣어줘야 합니다. mybatis.jar 를 들어가서 mybatis-3.5.0.zip 을 다운받자(19.2.2 기준) 압축파일 내에 있는 mybatis-3.5.0.jar 파일을 프로젝트 내에 WEB-INF/lib 폴더에 넣어줍니다. XML catalog 추가 이클립스에서 Window - preferences - xml - xml catalog에서 User Specifi..