이전 포스팅(mybatis-config.xml)을 생성 후 한다는 가정하에 한다.
1. src>main>resources 폴더 아래에 mappers혹은 mapper라는 파일을 생성한다.
2. 해당 파일 아래에 추가 폴더링후 혹은 그냥 ㅇㅇㅇ-mapper.xml 파일을 생성한다.
3. 아래와 같이 작성해준다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="Member"> //namespace는 이 mapper파일의 class명같은 존재
<resultMap type="해당 컬럼들이 있는 vo alias" id="resultMap의 이름"> //id는 mapper의 이름과 같아도 사용가능
<id column="db에 있는 컬럼명" property="vo파일에서 설정한 해당 컬럼의 필드명"/>
<result column="db에 있는 컬럼명" property="vo파일에서 설정한 해당 컬럼의 필드명" />
<!-- id와 result의 차이-->
//id 는 PK라 생각하면 된다. 테이블에서 하나뿐인 PK~
//만약에 pk가 없으면 id 안넣고 전부 result로 해도됨.
</resultMap>
//아래는 쿼리문을 작성해주면 된다.
//select문에서 db컬럼명이랑 이 <select>태그 안의 쿼리문의 컬럼명을 동일하게 맞춰주면 resultMap 안써도 됨!
//그냥 바로 resultType을 주면 적용이 된다. -->
<select id="dao에서 부를때 사용됨." resultType="mybatis-config.xml에 만들어놓은 vo alias">
쿼리문
</select>
// 나오는 값이 하나라면 해당 자료형으로 받아도됨
<select id="" resultType="string">
</select>
//만약 id가 동일한게 여러개면 결과값이 여러개나온다
//그럼list로 나오는데 여기서 지정안하고 DAO에서 해결해도 된다.
<select id="" parameterType="들고들어오는 모양" resultType="결과로 보내는 자료형 타입">
</select>
//파라미터타입은 id에 해당하는 거 하나 혹은 VO에 담아서 가져와도됨
//select문은 결과값이 있기때문에 resultType 혹은 resultMap 설정해줘야함
<select id="searchMember" parameterType="" resultMap="위에 resultMap으로 만들어놓은 ID값">
</select>
<insert id="insertMember" parameterType="MemberVO">
INSERT INTO member VALUES (#{member_id},#{member_pwd},#{member_name }) //#{}안에는 VO 필드명 작성하면 됨
</insert>
</mapper>
결과물
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="Member">
<resultMap type="MemberVO" id="MemberMap">
<result column="member_id" property="memberId" />
<result column="member_pwd" property="memberPwd" />
<result column="member_name" property="memberName" />
</resultMap>
<select id="searchMember" parameterType="MemberVO" resultType="MemberVO">
SELECT * FROM member WHERE member_id = #{member_id}
</select>
<insert id="insertMember" parameterType="MemberVO">
INSERT INTO member VALUES (#{member_id},#{member_pwd},#{member_name })
</insert>
</mapper>
'SPRING' 카테고리의 다른 글
No converter found for return value of type 에러 발생 (0) | 2021.06.15 |
---|---|
어노테이션 연결 (0) | 2021.06.15 |
mybatis-config.xml 파일 (0) | 2021.06.10 |
SPRING 프로젝트 생성기본 세팅 (0) | 2021.06.09 |
SPRING 폴더 구조 (0) | 2021.06.07 |