Helmi

게시판 프로젝트 - CRUD 구현 ③ 영속 영역 CRUD 구현, READ(SELET)처리 본문

SpringBoot

게시판 프로젝트 - CRUD 구현 ③ 영속 영역 CRUD 구현, READ(SELET)처리

Helmi 2023. 4. 29. 11:09

insert된 데이터 조회 작업은 PK이용해 처리 - BoardMapper의 파라미터 역시 BoardVO 클래스의 bno 타입 정보 이용해 처리

 

com.board.mapper.BoardMapper 인터페이스 일부

package com.board.mapper;

import java.util.List;

import com.board.domain.BoardVO;

public interface BoardMapper {

	public List<BoardVO> getList();
	
	public void insert(BoardVO board);
	
	public void insertSelectKey(BoardVO board);
	
	public BoardVO read(Long bno);
}

BoardMapper.xml에 추가되는 <select>

<select id="read" resultType="com.board.domain.BoardVO">
	select * from tbl_board where bno = #{bno}
</select>

MyBatis는 Mapper 인터페이스 리턴 타입 맞게 select 결과 처리

tbl_board의 모든 칼럼은 BoardVO의 'bno, title, content, writer, regdate, updateDate' 속성값으로 처리 됨.

> MyBatis는 bno라는 칼럼 존재하면 인스턴스의 'setBno()' 호출. MyBatis의 모든 파라미터와 리턴 타입의 처리는 get 파라미터명(), set 칼럼명() 규칙으로 호출

 

#{속성}이 1개만 존재하는 경우에는 별도의 get 파라미터명() 사용 않고 처리 됨.

 

현 테이블에 존재하는 데이터의 bno 칼럼 값 이용해 테스트 코드 통해 확인

 

BoardMapperTests.java 일부

@Test
	public void testRead() {
	//존재하는 게시물 번호로 테스트
	BoardVO board = mapper.read(5L);
		
	log.info(board);
	}

콘솔 - 실행결과

INFO : jdbc.resultset - 1. ResultSet.next() returned false
INFO : jdbc.resultset - 1. ResultSet.close() returned void
INFO : jdbc.audit - 1. Connection.getMetaData() returned oracle.jdbc.driver.OracleDatabaseMetaData@11b377c5
INFO : jdbc.audit - 1. PreparedStatement.close() returned 
INFO : jdbc.audit - 1. Connection.clearWarnings() returned 
INFO : com.board.controller.BoardMapperTests - BoardVO(bno=5, title=수정된 제목, 
content=수정된 내용, Writer=user00, regdate=Wed Apr 26 13:55:56 KST 2023, 
updatedate=Fri Apr 28 16:01:05 KST 2023)
INFO : com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated...

콘솔 안보일까봐 가져왔다!