본문으로 바로가기

2022년 6월 17일 스프링 복습

category 프로그래밍 공부 2022. 6. 17. 12:19
728x90
반응형

MyBatis 

자동으로 Connection close() 가능

MyBatis 내부적으로 PreparedStatement 처리

#prop)와 같이 속성을 지정하면 내부적으로 자동 처리

리턴 타입을 지정하는 경우 자동으로 객체 생성 및 ResultSet 처리

 

Mapper 설정

Mapper를 작성해 주었다면 MyBatis가 동작할 때 Mapper를 인식할 수 있도록

root context.xml에 추가적인 설정이 필요합니다.

가장 간단한 방식은 이 라는 태그를 이용하는 것입니다.

 

Mapper (SQL과 동일)

Mapper를 XML과 인터페이스 + 어노테이션의 형태로 작 성할 수 있다

Mapper를 작성하는 작업은 XML을 이용

 

Interface 구성 요소

추상메서드 - 구현해야 될 메소드를 가이드 해줌 / 오버라이딩해서 재구현해야함 (강제적)

정적메서드 -인터페이스에서 제공 (절재적)

디폴트 메서드 - 인터페이스에서 기본적으로 제공 (선택적)

상수 - 인터페이스에서 정한 값을 참조 (절대적)

 

@Setter(onMethod_ = @Autowired)는

set메소드와 get메소드를 한번에 정의 내릴 수 있도록 해준다.

XML 매퍼

MyBatis-Spring의 경우 Mapper 인터페이 스와 XML을 동시에 이용할 수 있습니다.

XML은 쿼리다.

 

XML 작성법

태그의 id 속성의 값은 메서드의 이름과 동일하게 맞춰야 한다.

〈select> 태 그의 경우 resultType 속성을 가짐

이 값은 인터페이스에 선언된 메서드의 리턴 타입과 동일

 

<?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.TimeMapper">
  
     <select id = "getTime2" resultType="String">
      SELECT sysdate FROM dual
      </select>  
  </mapper>

 

스프링 MVC

Spring MVC는  Servlet/Jsp와 개발자의 코드영역에 중간 역활이다.

 

스프링의 기본 구조

서블릿

request와 response 요청과 응답을 사용한다.

Java 기반이라서 HTML이 존재하지 않음

 

스프링 MVC의 Controller

•HttpServletRequest, HttpServletResponse 를 거의 사용할 필요 없이 필요한 기능 구현

• 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용 가능

• GET 방식, POST 방식 등 전송 방식에 대한 처리를 @어노테이션으로 처리 가능

• 상속/인터페이스 방식 대신에 @어노테이션만으로도 필요한 설정 가능

 

@RequestMapping은 현재 클래스의 모든 메서드들의 기본적인 URL 경로다

모든 요청은 URL이다.

'/sample/* -> *는 경로

/sample/aaa

 


request.getParameter()

파라미터가 자동으로 수집되는 기능

 

SampleDTO클래스는 Lombok의 @Data 어노테이션을 이용해서 처리

@Data 를 이용하게 되면 getter/setter, equals( ), toString() 등의 메서드를 자동 생성

 

SampleController의 메서드가

SampleDTO를 파라미터로 사용하게 되면 자동으로 setter 메서드가 동작

 

Controller의 리턴 타입 

String: jsp를 이용하는 경우에는 jsp 파일의 경로와 파일이름을 나타내기 위해서 사용합니다.

void: 호출하는 URL과 동일한 이름의 jsp를 의미합니다.

 

Controller는 무조건 JSP로 출력한다.

 

 

 

728x90
반응형

'프로그래밍 공부' 카테고리의 다른 글

2022년 6월 21일 스프링 복습  (0) 2022.06.21
2022년 6월 20일 스프링 복습  (0) 2022.06.20
2022년 6월 15일 Spring  (0) 2022.06.15
2022년 6월 14일 비지니스 계층  (0) 2022.06.14
2022년 6월 10일 Spring  (0) 2022.06.10