본문 바로가기
카테고리 없음

[06.스프링+MyBatis]8.Mybatis의 #{}문법

by jaekk 2018. 8. 18.


1. DAO 클래스 작성



src>main>java>org>zerock>persistence>MemberDAO.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package org.zerock.persistence;
 
import org.zerock.domain.MemberVO;
 
public interface MemberDAO {
    public String getTime();
 
    public void insertMember(MemberVO vo);
    
    public MemberVO readMember(String userid) throws Exception;
    
    public MemberVO readWithPW(String userid, String userpw) throws Exception;
 
}
 
cs

DAO클래스의 메서드 이름이 mapper.xml의 id가 된다




2. Mapper 작성

src>main>resource>mappers>memberMapper.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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="org.zerock.mapper.MemberMapper">
  <select id="getTime" resultType="string">
    select now()
  </select>
  <insert id="insertMember"    >
  insert into tbl_member (userid,userpw, username, email) values (#{userid},#{userpw},#{username},#{email})
  </insert>
  
  <select id="selectMember" resultType="org.zerock.domain.MemberVO">
      select
          *
      from
          tbl_member
      where userid = # {userId}
  </select>
  <select id="readWithPW" resultType="org.zerock.domain.MemberVO">
      select
          *
      from
          tbl_member
      where userid = #{userid} and userpw = #{userpw}
  </select>
</mapper>
cs


resultType이 MemberVO로 인것으로 보아 DB 결과가 MemberVO로 자동 매핑되어 객체로 반환된다.

그래서 메서드의 반환값이 MemberVO가 된다.

1
2
3
    public MemberVO readMember(String userid) throws Exception;
    
    public MemberVO readWithPW(String userid, String userpw) throws Exception;

cs





3. 인터페이스를 구현하는 DAOImpl 작성




실행결과


댓글