Spring - MyBatis와 스프링 연동

Luna·2023년 3월 14일
0

EZEN

목록 보기
36/40

수업내용

복습

src/main/java 실행하기 위한 데이터들
src/test/java 모듈 테스트 시 사용, junit, 테스트를 하기 위한 데이터들

책과 같은 버전으로 설치를 해 놓아야 한다. 버전이 다르면 아예 다른 프로그램이 된다.
새 프로젝트시에 <dependency>는 첫 프로젝트에서 세팅했던 부분을 복사해서 쓴다.


chapter 4 - MyBatis와 스프링 연동

  • SQL 매핑 프레임 워크
    JDBC 코드의 복잡하고 지루한 작업을 피하는 용도로 많이 사용 된다.

p.93 Mapper Interface 만들기

mybatis 라이브러리를 등록 해 놔야 root-context.xml의 Namesspaces에서 mybatis-spring을 추가 할 수 있다.

4.2.3 XML 매퍼와 같이 쓰기 p.98
XML파일을 만들 때 이름에 대한 규칙은 없지만 가능하다면 Mapper 인터페이스와 같은 이름을 이용을 하는 것이 좋다.
마이바티스 도큐먼트 참고
XML을 제대로 안만들어놓으면 프로그램을 실행시키기가 어렵다. 메서드명이나 이런건 잘 맞춰줘야 MyBatis가 자동으로 동작이 된다.

  1. mapper 인터페이스 만들기
    DAO에 해당되는 메서드를 매퍼 인터페이스로 사용하기.
  2. 같은 위치의 resources에 BoardMapper.xml을 만든다.
    id는 메서드이름, 데이터를 받는게 있으면 resultType.
  3. test파일 만들어서 테스트 해보기.

설정한 내용이 많지만 1. 드라이버확인 2~ 어쩌구 했던것보다 훨씬 코드가 쉽고 간결 해 진다.

log4j.xml에 설정되어 잇는 태그에 log4j.dtd가 없다는 경고 처리
STS로 Project를 만들면 발생되는 경고

  • 경고 내용은 "Problems" 창에서 확인할 수 있다. 경고 내용
    Description Resource Path Location Type
    The file cannot be validated as the XML definition "D:\workspace\spring\ex00\src\main\java\log4j.dtd (지정된 파일을 찾을 수 없습니다)" that is specified as describing the syntax of the file cannot be located. log4j.xml /ex00/src/main/resources line 2 XML Problem
  • 마지막에 선언되어 있는 "log4j.dtd" 파일을 우리가 실행되는 폴더에 넣어 둔 것이 아니기 때문에 파일이 없다는 경고가 남.
  • 인터넷에 제공하고 있는 log4j.dtd 파일은 연결해서 해결함.

p.104 4.3.1 로그의 레벨 설정
기본 설정의 로그는 info레벨이기 때문에 warn과 같이 좀 더 높은 레벨의 로그만 기록하게 수정하면 테스트 코드를 실행할 때 이전에 비해 로그의 양이 줄어드는 것을 확인할 수 있다.

test/resources에 warn추가하기
이렇게 하면 콘솔에 찍히는 로그의 내용을 간략하게 나타낼 수 있다.

<logger name="jdbc.audit">
	<level value="warn" />
</logger>

<logger name="jdbc.resultset">
	<level value="warn" />
</logger>

<logger name="jdbc.connection">
	<level value="warn" />
</logger>

chapter 5 - 스프링 MVC의 기본구조

새 프로젝트 만들면 해야 할 일
1. pom.xml 복붙
2. src/main/resources -> properties(DB연동) 파일 복붙
3. root-context.xml (DB연동) 복붙
다 끝나면 Maven Update Project 하기

p.109~111 설정부분 똑같이 설정하기
p.113~117 java설정은 안해도 됨


chapter 6 - 스프링 MVC의 Controller

@RequestMapping
@GetMapping
@PostMapping

복습 할 내용

p.93 스프링과의 연동 처리
~chapter 5

0개의 댓글