Daily coding

Spring : Spring Framework 본문

카테고리 없음

Spring : Spring Framework

sunnnkim 2020. 2. 25. 19:12

Day 2 : Spring
1. 다이나믹 웹 프로젝트 생성
2. Project 우클릭 -> properties - configure - convert to Maven : 메이븐으로 만들기
3. pom.xml 의 dependencies 채워넣기 


- Annotation : 맵퍼
- *.do : 컨트롤러로 무조건 간다는 뜻 ( url pattern 에서  /대신 .do

* Spring에 대한 의존성 : 뷰에서 넘어간 파라미터를 String 타입이 아니고 원래 형으로 변환해준다
(int로 넘기면 int, String으로 넘기면 String)

* Spring controller 함수의 파라미터를 Dto로 설정하면 알아서 form의 name과 매핑해서
DTO에 데이터를 넣어준다

* Spring으로 Ajax 사용하기
- Boot는 ajax기반
- Json을 넘겨줄 때 라이브러리 : Jackson 

***** Ajax 통신을 위한 스프링 설정
1. dispatcherServlet : 다음 두가지를 추가한다
- <mvc:annotation-driven/ > : Ajax 주석문을 사용하는 것을 허가함
- mvc:default-servlet-handler : 스프링에서 처리할 수 없는 요청은 톰캣에 위임함

2. sendRedirect : 
- controller에서 다른 controller로 보낼 때 사용
- 짐 없이 단순이동 하는 방식 
- return "redirect:/home.do"
3. forward : 
- 짐(데이터)을 가지고 이동함
- return "redirect:/home.do"

4. Ajax 컨트롤러
1) produces ="application/String; charset=utf-8"
- 한글 문자열을 보낼 때, requestMapping 하는 부분에 반드시 추가한다. (한글 깨짐 방지)
2) @ResponseBody :
- Ajax 통신일 때 반드시 추가해야하는 Annotation




* MyBatis
(따로받기) 버전 : 3.4.6  jar 파일 받아서 lib에 넣기
- Backend
: src에 mybatis 패키지 만들고 config.xml / MemberMapper.xml 추가 (mybatis 세팅용)
- MyBatis 설정 부분을 복붙해옴
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
-  : 루트 태그, DB에서 데이터를 가지고 오기 위해서 설정

** 밑에 xml 코드 추가하기





oracle.jdbc.driver.OracleDriver"/>






MemberMapper에서 쿼리문 작성

MemberMapper.xml"/>




** MemberMapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">


- mapper 안에는 실행할 쿼리문을 매핑해둔다
- 쿼리문은 대문자로, 데이터는 소문자로
- $: 자동적으로 숫자로 만들어 줌
- #: ' '를 자동적으로 붙여줌(String)




INSERT INTO MEMBERDTO(ID, PWD, EMAIL)
VALUES ( #{id},#{pwd},#{email} )

java.lang.String">
DELETE FROM MEMBERDTO
WHERE ID = {id}


* select 
- 파라미터타입과 더불어 result타입을 정해주어야함

 

 

 



* view에서 받을 때 : 
- selectOne: 하나만 받음
 MemberDto sDto = session.selectOne("find",id);