▸Spring MVC/기본 문법17 Mybatis, MySQL 계층형 게시판 쿼리, 페이징, Date 처리 - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.2.9 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 계층형 게시판의 로직은 JSP/서블릿으로 작성할 때와 다른점이 없습니다. 다만 이번에는 오라클DB에서 MySQL로 바꾸면서 쿼리 방식이 좀 바뀌고, MyBatis로 DB 작업을 하면서 또 조금 바뀐 부분이 있어 정리합니다. 계층형 게시판에 대한 설명은 아래 링크를 참조하시면 됩니다. [JSP & Servlet/-.. ▸Spring MVC/기본 문법 2020. 4. 11. SMTP 서버를 이용한 스프링 메일 발송 (네이버 메일) - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 자동 로그인 시 2차 인증을 하기 위해 메일을 발송하는 클래스를 작성해봅니다. SMTP 서버를 직접 구축할 수도 있겠지만 이번 글에서는 네이버의 계정에서 제공해주는 SMTP 기능을 사용해서 메일을 보내는 기능을 구현하도록 하겠습니다. SMTP는 메일을 보내주는 역할을 하는 서버를 의미합니다. 반대로 POP은 메일.. ▸Spring MVC/기본 문법 2020. 4. 7. 스프링, Mybatis, MySQL_쿼리문 다중 파라미터 사용 [5/5] - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 쿼리문에 파라미터가 여러개 필요한 경우가 있습니다. 이 경우에 해결책은 두 가지입니다. 1. 객체를 만들어서 대입 보통 VO 객체를 많이 사용합니다. ParameterType과 ResultType 모두 setter와 getter가 있는 객체 타입으로 넣어주고 필드명(정확히는 getter 메소드에서 get을 빼고 .. ▸Spring MVC/기본 문법 2020. 4. 3. 스프링, Mybatis, MySQL_트랜잭션 처리 [4/5] - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 [ 트랜잭션(TransAction) ] 한번에 수행되어야 할 쿼리의 묶음(Set) 모두 다 정상적으로 수행되지 못한다면, 아무것도 수행되지 않도록 하는 묶음 단위 트랜잭션은 '거래'라는 의미로 "실제로 돈을 받아야 통장에서 차감된다" 라는 의미입니다. 돈을 못받았는데 통장에서 차감되면 큰일나니까요. "모 아니면 .. ▸Spring MVC/기본 문법 2020. 3. 22. 스프링, Mybatis, MySQL_사용법(Mapper 인터페이스) [3/5] - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 [ Mapper 인터페이스 ] Mapper 설정 파일(xml)에 있는 SQL 쿼리문을 호출하기 위한 인터페이스 Mybatis3.0 이후부터 지원하는 방식 이전 방식이 Mapper 설정 파일(xml)에 있는 쿼리문의 ID를 직접 String 형태로 지정해서 사용했다면, Mapper 인터페이스를 사용한 방식은 인터페.. ▸Spring MVC/기본 문법 2020. 3. 22. 스프링, Mybatis, MySQL_사용법 [2/5] - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 Mybatis 연동 및 구조와 어노테이션 사용법은 이전글을 참조하시면 됩니다. [Spring MVC/- 기본 문법] - 스프링, Mybatis - MySQL 연동 [1/2] [Spring MVC/- 기본 문법] - @Resource, @Inject, @Autowired 사용 (자동 의존성 주입) [Spring M.. ▸Spring MVC/기본 문법 2020. 3. 22. 스프링, Mybatis, MySQL_연동 및 설정 방법 [1/5] - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 [ Mybatis ] 자바에서 제공하는 JDBC를 보다 편리하게 사용할 수 있도록 해주는 프레임워크 SQL 쿼리문을 코드 내에서 쓰지 않고 Mapper 파일에서 관리함으로써 코드와 SQL 쿼리를 분리 SQL 쿼리 수정 시 코드를 직접 수정하지 않아도 돼 유지보수 시 안정성을 높임 코드를 간소화하여 가시성을 높여줌.. ▸Spring MVC/기본 문법 2020. 3. 22. 스프링 Restful 서비스(API)_API 구현(XML) [3/3] - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 Restful API에 대한 기본 개념과, JSON을 이용한 구현 방법은 이전글을 참조하시면 됩니다. [Spring MVC/- 기본 문법] - 스프링 Restful 서비스(API)_기본 개념 [1/3] [Spring MVC/- 기본 문법] - 스프링 Restful 서비스(API)_API 구현(JSON) [2/3].. ▸Spring MVC/기본 문법 2020. 3. 21. 스프링 Restful 서비스(API)_API 구현(JSON) [2/3] - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 Restful 서비스(API)에 대한 간단한 기본 개념은 이전글을 참고하시면 됩니다. [Spring MVC/- 기본 문법] - 스프링 Restful 서비스(API)_기본 개념 [1/3] 진짜 Restful한 서비스에 대한 의견은 아직도 분분한 것 같고, 누군가는 이건 전혀 Restful한 서비스 구현이 아니라고 .. ▸Spring MVC/기본 문법 2020. 3. 20. 스프링 Restful 서비스(API)_기본 개념 [1/3] - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 [ REST (Representational Safe Transfer) ] HTTP URI를 통한 자원의 명시 HTTP Method를 통해 해당 자원을 제어하는 행위를 표현 데이터를 주고 받는 방식의 아키텍쳐 (디자인 패턴) Restful 서비스(API)란 REST 아키텍쳐를 준수하는 서비스라고 할 수 있습니다... ▸Spring MVC/기본 문법 2020. 3. 20. @Repository, @Service 어노테이션 - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 두 어노테이션을 알기 위해 먼저 스프링 컨테이너 구조와 빈(Bean)에 대해 알고 있어야 할 듯합니다. 컨테이너 구조는 모든 어플리케이션에서 사용하는 "루트 컨테이너", 각 서블릿이 사용하는 "서블릿용 컨테이너", 개발자가 임의로 생성해서 사용하는 "개발자용 컨테이너" 세 가지 종류가 있습니다. 컨테이너 이름은 .. ▸Spring MVC/기본 문법 2020. 3. 18. @Resource, @Inject, @Autowired 사용 (자동 의존성 주입) - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 세 개의 어노테이션은 컨테이너에 생성된 빈(Bean) 객체를 자동으로 주입받을 수 있도록 해주는 어노테이션입니다. Bean 객체를 이용할 때 코드를 아주 간결하게 해주기 때문에 필수로 사용되는 어노테이션입니다. 주의할 점으로는 Bean 객체가 생성될 때 어노테이션을 스캔해서 자동 주입해줍니다. 그냥 일반적인 방법.. ▸Spring MVC/기본 문법 2020. 3. 18. 스프링 MVC - 데이터 전달 객체들 - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 기본 서블릿에서는 사용자 요청을 받을 때 서블릿 컨테이너가 request, response 객체 두 개를 전달해주는 방식이 고정적이어서 컨트롤러를 작성할 때 크게 고민되는 부분이 없었던 것 같습니다. 하지만 스프링에서는 컨트롤러에 정해진 형식이 없고, 온갖 어노테이션과 파라미터들을 활용해 컨테이너로부터 파라미터 .. ▸Spring MVC/기본 문법 2020. 3. 11. 스프링 MVC 컨트롤러 작성하기 - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 스프링 MVC 프로젝트의 전체 동작 구조와 기본 설정 파일들에 대한 내용은 아래글을 참조하시면 됩니다. [Spring/- 기본 상식] - 스프링(Spring) MVC 동작 구조 및 스프링 컨테이너 [ 컨트롤러 클래스 만들기 ] 간단히 클래스에다가 "@Controller" 어노테이션을 붙여주면 됩니다. 다만 주의할.. ▸Spring MVC/기본 문법 2020. 3. 11. 스프링 AOP 구현 (관점 지향 프로그래밍) - Develop OS : Windows10 Ent, 64bit - WEB/WAS Server : Tomcat v9.0 - DBMS : MySQL 5.7.29 for Linux (Docker) - Language : JAVA 1.8 (JDK 1.8) - Framwork : Spring 3.1.1 Release - Build Tool : Maven 3.6.3 - ORM : Mybatis 3.2.8 [ AOP ] Aspect Oriented Programming - 관점 지향 프로그래밍 공통 기능과 핵심 기능을 분리시켜 공통 기능을 계속 재활용해 사용하는 방식 개념 자체는 기존 객체 지향 프로그래밍 또는 함수형 프로그래밍과 동일합니다. 공통 코드는 따로 만들어서 여기저기서 가져다 쓰자는거죠. 하지만 IOC의.. ▸Spring MVC/기본 문법 2020. 3. 10. 이전 1 2 다음 💲 추천 글 반응형