충 민
충민이의 개발블로그
충 민
전체 방문자
오늘
어제
  • 분류 전체보기 (101)
    • Java (16)
    • Python (21)
      • 웹 스크래핑 (9)
      • Python (0)
    • BaekJoon (7)
    • 네트워크 (6)
    • JavaScript (9)
      • Node.js (1)
      • React.js (2)
      • 바닐라.js (6)
      • TypeScript (0)
    • JSP (15)
    • DataBase (1)
      • Oracle (1)
    • CS지식 (1)
    • Spring (18)
    • App (0)
      • React Native (0)
    • GIT (3)
    • Wearable Device (2)
      • Fitbit (2)
    • AWS (1)
    • 대용량 트래픽 처리 (0)
    • 마음가짐 (0)
    • 교육후기 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 스크래핑
  • 롬복
  • 세팅
  • setter주입
  • 게시물
  • 오라클
  • 크롤링
  • scrapping
  • 스프링
  • 웹크롤링
  • scrapper
  • 어노테이션
  • Oracle
  • Lombok
  • 게시판
  • Controller
  • 웹
  • jsp
  • Python
  • Java
  • 웹스크래핑
  • FLASK
  • spring
  • mvc
  • 파이썬
  • 등록
  • 환경설정
  • jdbc
  • Crawling
  • db

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
충 민

충민이의 개발블로그

[Part 2] BoardVO클래스와 매퍼테스트 #2
Spring

[Part 2] BoardVO클래스와 매퍼테스트 #2

2023. 1. 17. 23:26

이번 글에서는 VO클래스를 생성하고 매퍼테스트를 해보겠다.

 

package를 생성하고 그 밑에 VO클래스를 만든 후 위 사진과 같이 코드를 넣는다.

 

Mapper 인터페이스 작업을 해보자.

BoardMapper라는 인터페이스를 org.zero.mapper 패키지 아래에 생성해준 후 

방금 위에서 만든 VO와의 연결을 확인하기위해 아래와 같이 코드를 작성한다.

 

BoardMapper.java

package org.zero.mapper;

import java.util.List;

import org.zero.domain.BoardVO;

public interface BoardMapper {
	
	List<BoardVO> getList();
}

 

그리고 아래의 사진처럼 org.zero.mapper라는 폴더를 생성하시고 BoardMapper.xml을 생성한다.

 

 

 

 

그 안에는 DTD라는 xml에서 구성이 어떻게 되는지 어떤 태그들을 몇 번 쓸 수 있는지 나오는것이다.

 

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "https://mybatis.org/dtd/mybatis-3-mapper.dtd">

 <mapper namespace="org.zero.mapper.BoardMapper">
 	
 	<select id="getList" resultType="org.zero.domain.BoardVO">
 	select * from tbl_board order by bno desc
 	</select>
 </mapper>

 

BoardMapper.xml에 DTD를 추가해주시고

resultType은 여기서 select한 결과를 게터 세터 셋메서드 같은 것을 호출해줘 라고 얘기해주는 것이다.

 

 

그리고 테스트할 메서드를 만들어주기위해 클래스 생성하고 아래와같이 코드를 작성하여 실행해주자.

 

 

 

 

 

 

잘 연결되어 원하는 select문을 잘 뽑았다.

 

📌게시물 등록

이제 게시물 등록을 해보자!

 

BoardMapper.java에 insert를 생성해주고

 

 

insert태그도 생성한 후 테스트 해보자

 

 

 

testInsert메서드를 실행시키면?

 

 

 

잘들어갔다. ㅎㅎ

 

솔직히 이번에 하는 건 방금 했던것이 성능이 좋지만 키를 몇번을 잡아올지 아는 것이 좋기때문에 해본다.

 

우선 밑의 3개의 사진처럼 만들어주시고

 

  • order는 어떤 문장을 먼저 실행할지 우선순위를 정해주고
  • keyProperty는 어떤 것에 key를 줄지 정해주고 
  • resultType은 key로 정한 것의 타입을 적으면된다.

 

 

위의 로그들은 차이점을 확인하기위해서다. 어쩃든 여기까지 따라왔다면 실행시켜보자

 

먼저 testInsertSelectKey를 실행시키면??

 

5번이라고 key를 가져온다.

그런데 testInsert를 실행시키면?

 

 

null이 뜬다. 성능은 더 좋지만 key를 가져오지 못한다는 단점이 생긴다. ㅎㅎ 

상황에 따라 비교해서 쓰시면 되겠다.

이제 insert작업은 여기서 마치고 다음글에서 조회를 해보자!

저작자표시 (새창열림)

'Spring' 카테고리의 다른 글

[Part 2] 비즈니스 계층 #4  (0) 2023.01.18
[Part 2] 게시물 조회/삭제/수정 #3  (0) 2023.01.18
[Part 2] 스프링 프로젝트 구성 #1  (0) 2023.01.15
[Part 1] Spring Controller #10  (0) 2023.01.15
[Part 1] 스프링 MVC #9  (0) 2023.01.14
    'Spring' 카테고리의 다른 글
    • [Part 2] 비즈니스 계층 #4
    • [Part 2] 게시물 조회/삭제/수정 #3
    • [Part 2] 스프링 프로젝트 구성 #1
    • [Part 1] Spring Controller #10
    충 민
    충 민
    깃허브 주소: https://github.com/IluvRiver

    티스토리툴바