마이바티스에서 프로시저 접근하기

MVC구조

Model 1 방식

Model 2 방식

  • Model + View + Controller
  • 디자이너와 개발자들의 영역이 분리됨으로써 각자의 영역에 더 집중할 수 있다.
  • 사용이유 : 재사용성이 높고 확장성이 좋기 때문이다.

Spring MVC

  • DispatcherServlet

음악 차트 만들기

web.xml

  • 책 : 253page

MusicVO

  • 데이터를 모아서 전송할 목적
  • DTO(Data Transfer Object?) = VO

SQL 쿼리 문자 추가

  • TRIGGER : 자동 증가 번호
ALTER TABLE genie_music ADD hit NUMBER DEFAULT 0;

MusicMapper.java (interface) : musicListData , musicDetailData

MusicDAO.java : musicListData , musicDetailData

config

4.0 버전 : application-context.xml

  • 필요한 이유 : 프로그래머가 어떤 클래스, 패키지를 만들었는지 스프링에서 인식할 수 있게 만들게 하기 위해서
  • tx : 트렌젝션
  • <context:component-scan base-package="com.haeni.*"/>

5.0 버전 : com.haeni.config.AppConfig.java

  • @Configuration
  • @ComponentScan(basePackages={"com.haeni.*"})

  • 메모리 할당
    • new 방식 : InternalResourceViewResolver r = new InternalResourceViewResolver();
    • 스프링 방식 :
    Class clsName=Class.forName("")
    Object obj=clsName.newInstance()
    

MusicController.java : music_list

  • @Autowired : 스프링에서 생성된 dao객체를 달라고 요청한다.
  • @GetMapping() : get방식으로 전달하는 5.0단계에 생겨난 어노테이션
    • form태그 등장 전까지는 모두 default인 get방식을 따른다.
  • ViewResolver의 역할 : prefix + return값 + suffix(확장자)를 문자열 결합하여 반환한다?

music/list.jsp

  • 동영상 띄울 창 ui : https://jqueryui.com/dialog/

MusicMapper : musicTotalPage

MusicDAO : musicTotalPage

MusicController : totalpage

영화

movie.jsp

  • each : for문과 같다.
  • JSON 파일에서 데이터를 보내 주는 것과 자바(RestController)에서 데이터를 전송하는 것이나 동일하다.

  • datas=[{},{},{},{}…] : 배열
    • {} 하나하나가 value임
    • let value={"actor":"","director":""}
    • value.actor