parameterType
MyBatis에서 SQL문에 들어가는 인자의 데이터 형태를 반드시 명시해 줘야 하며, 이는 parameterType로 설정한다. 숫자면 int, 문자면 String 등 을 명시해야 Spring이 제대로 작동한다. 만약 여러 개의 인자를 넣고 싶다면, 해당 인자들의 집합을 Java 객체 클래스로 따로 선언하여 사용하는 것이 효율적이다. 예를 들어 회원정보를 저장할 때 Member객체를 생성하여 insert문에 보내주면 된다.
<insert id="insertMember" parameterType="Member" >
INSERT INTO MEMBER (
mNO, ID, PASSWORD, ROLE, NAME,
STATUS,
ENROLL_DATE, MODIFY_DATE
) VALUES(
0, #{id}, #{password}, DEFAULT, #{name},
DEFAULT,
DEFAULT, DEFAULT
)
</insert>
하지만 사용하고 싶은 인자가 애매하게 단 둘인 경우, 이를 위해 따로 Java 클래스를 생성하는 것이 오히려 비효율적이고 귀찮다. 이 때 parameterType="map"으로 해 주면 간단하게 해결이 가능하다.
mapper.java에서 이렇게 파라메터 이름을 정해주면
FirstView selectFirstView(@Param("mno") int mno,@Param("nno") int nno);
mapper.xml에서 mno, nno 두 인자를 받을 수 있다.
<select id="selectFirstView" resultMap="firstViewResultMap" parameterType="map">
SELECT * FROM FIRSTVIEW
WHERE MNO = #{mno} AND NNO = #{nno}
</select>
단, 인자가 두 개인 경우에만 가능한 방식이다.
'스프링' 카테고리의 다른 글
[Spring MVC] Ajax로 게시판 만들기 (0) | 2024.04.10 |
---|---|
Spring MVC Project 회원가입 프로세스 (0) | 2024.04.04 |
Spring MVC Project 로그인 프로세스 (1) | 2024.04.03 |
Spring MVC Project의 구조 (0) | 2024.04.02 |
[Spring] 세션(Session) 그리고 로그인 (0) | 2024.03.25 |