-
MyBatis - 데이터를 삽입하는 방법들MyBatis 2019. 2. 11. 20:20
마이바티스로 데이터를 삽입하는 방법들
1. 고정된 값 넣기
파라미터를 가지지 않는 sql 의 경우이다.
<insert id="insertStudent"> INSERT INTO STUDENT VALUES(SEQ_STUDENT.NEXTVAL, '둘리', '01012345678', 'ABCD@NAVER.COM', '경기도 성남시', DEFAULT) </insert>
변하는 값이 없이 매번 같은 값이 들어가게 된다.
2. 파라미터를 이용하여 넣기
파라미터는 #{변수 이름} 으로 사용한다.
<insert id="insertStudent" parameterType="string"> INSERT INTO STUDENT VALUES(SEQ_STUDENT.NEXTVAL, #{name}, '01043215698', 'ABC@NAVER.COM', '서울시', DEFAULT) </insert>
이번에는 이름 값을 파라미터로 받아서 데이터를 삽입하는 코드이다.
insert 태그에서 파라미터에 들어가는 변수 타입을 parameterType에 넣어준다.마이바티스 와 자바의 타입을 비교한 표이다.
자바 자료형으로는 String 값이 들어갔기 때문에 parameterType에는 마이바티스 타입으로 string을 적어주었다.dao에서는
int result = session.insert("mybatis.insertName", name);
이렇게 써주었다.
String 값인 name을 insert메소드의 두번째 매개변수로 넣어준다.파라미터를 사용하는 방법은 PreparedStatment 를 사용하는 방법과 비슷하다.
3. 객체 넣기
<insert id="enrollStudent" parameterType="com.mybatis.model.vo.Student"> INSERT INTO STUDENT VALUES(SEQ_STUDENT.NEXTVAL, #{studentName}, #{studentTel}, #{studentEmail}, #{studentAddress}, DEFAULT) </insert>
insert 문의 values에는 객체의 속성 이름을 파라미터로 넣어준다.
객체를 넣을 때는 parameterType에 패키지 경로까지 다 써주어야 한다.패키지 경로를 쓰지 않으려면 다음과 같이 mybatis-config.xml를 수정하면 된다.
<typeAliases> <typeAlias type="com.mybatis.model.vo.Student" alias="student"/> </typeAliases>
typeAlias 태그의 type 속성에는 패키지를 포함한 클래스 이름을 쓰고 alias에는 그 클래스를 사용하기 위한 별칭을 적어준다.
configuation 태그는 위의 이미지와 같은 구조를 갖는다.
따라서 typeAliases 태그를 넣을 때는 저 구조에 맞게 넣어주어야 한다.typeAliases 태그를 넣어준 후에는
<insert id="enrollStudent" parameterType="student"> INSERT INTO STUDENT VALUES(SEQ_STUDENT.NEXTVAL, #{studentName}, #{studentTel}, #{studentEmail}, #{studentAddress}, DEFAULT) </insert>
parameterType을 student 로 적을 수 있다.
반응형'MyBatis' 카테고리의 다른 글
MyBatis - 페이징 처리 (0) 2019.02.17 MyBatis - 동적 쿼리 사용하기 (0) 2019.02.12 MyBatis - 데이터 가져오는 방법들 (2) 2019.02.08 MyBatis - 데이터 삽입하기 (0) 2019.02.04 MyBatis 시작하기 (기본 세팅하기) (0) 2019.02.02