MyBatis 프레임워크 자바 프로그래밍 언어를 위한 오픈 소스 데이터베이스 퍼시스턴스 프레임워크로 SQL 쿼리를 별도의 XML 파일 또는 어노테이션을 사용하여 선언함 Template 과 MyBatis의 차이점 Template - 템플릿을 임포트 해서 개발자가 상황에 맞게 사용함 MyBatis - 정해진 구조대로 개발을 해야함 즉, .xml 파일(설정 파일)이 필요함 MyBatis 사용하는 이유 기존 방식 변경된 방식 SQL 구문이 JAVA 내부에 존재 SQL 구문을 .xml 파일로 설정하여 JAVA 외부로 별도 관리 SQL 구문을 수정하면 재컴파일 해야함 xml 파일에서 설정하므로 컴파일이 바뀌지 않음 컴파일이 별도로 필요하지 않기 때문에 결합도가 낮아지고 SQL을 확인하고 싶으면 xml 파일을 열어보..
서비스 레이어 주로 비즈니스 로직을 포함하고 있는 계층을 말하며, 이 계층은 인터페이스와 구현 클래스로 구성될 수 있음 인터페이스에서는 추상 메소드로 비즈니스 로직의 틀을 제공하며, 실제 구현은 클래스에서 작성함 FrontController 패턴에서의 DAO FrontController 가 DAO를 직접 이용하였음 이의 단점은 결합도가 높기 때문에 유지보수에 불리함 따라서 Controller와 DAO 사이에 Service Interface를 생성하면 Controller가 직접 DAO를 사용하는 것이 아닌 Service가 DAO를 사용하는 방식으로 바뀌기 때문에 결합도가 낮아지고 유지보수가 유리해진다 그 이유는 Service 가 Interface 를 멤버변수(의존 관계)로 가지고 있으면, @만 어떤 클래스..
GetMapping Spring Framework 와 Spring MVC 에서 사용되는 어노테이션 중 하나로 특정 URL 경로에 대한 HTTP GET 요청을 처리하는데 사용되는 어노테이션 GetMapping 특징 주로 정보를 검색하거나 조회하는 용도로 사용되며, URL 경로에 데이터를 포함시켜 요청을 보낼 수 있음 경로변수를 지원함 URL 이는 경로에 동적인 값을 넣을 때 사용됨 Ex) @GetMapping(/board/{board.bid}) 주로 데이터를 검색하고 뷰를 반환하는 용도로 사용됨 메소드는 뷰 이름이나 뷰 객체를 반환하며, 클라이언트에게 표시할 화면을 정의 PostMapping Spring Framework 와 Spring MVC 에서 사용되는 어노테이션 중 하나로 HTTP POST 요청을 ..
예외 처리 프로그래밍에서 발생할 수 있는 예외 상황 또는 오류를 감지하고, 이를 적절하게 처리하는 과정 예상 밖의 상황이 발생할 때 상황을 처리하지 않으면 프로그램이 비정상적으로 종료되는 것을 방지하기 위해 사용 사용 시기 예외 처리 코드가 많은 경우, 특히 예외 처리 코드가 비즈니스 로직과 섞여 있는 경우에 유용함 주로 예외 처리 코드가 반복적으로 사용되는 경우, 중복을 줄이기 위해 사용됨 장점 예외 처리 코드를 메인 코드에서 분리하여 가독성을 향상시킴 코드의 중복을 줄여 유지보수를 용이하게 함 비즈니스 로직과 예외 처리 로직을 분리함으로써 코드의 일관성을 유지 실습 MVC 패턴의 Model 파트 selectOne() 메소드의 queryForObject 예외처리 미루기 BoardDAO.java @Rep..
프로젝트 생성 > Project 생성 (Available - JDBC API, 사용할 DB 선택, Lombok, MVC 사용 시 MVC 선택) > 의존성이 추가된 것을 확인할 수 있음 * Oracle의 경우 유료 버전에 맞춰져 있기 때문에 유료 버전을 사용중이라면 체크, 그게 아니라면 아래의 방법을 사용 > 프로젝트 생성 후 프로젝트 우클릭 - Properties - build path - Classpath - Add External JARs > 아래의 .jar 파일 추가 Apply - Apply and Close 코드 작성 > application.properties [ MySQL의 경우 ] spring.datasource.dbcp2.driver-class-name=com.mysql.jdbc.Drive..
데이터 유효성 검사 애플리케이션에서 사용자가 입력한 데이터 또는 외부로부터 받은 데이터의 유효성을 검사하는 기능 유효성 검사 방법 유효성 검사를 하는 방법은 프론트(웹 브라우저, 사용자, 클라이언트)에서 하는 방법과 서버(백) 에서 하는 방법 2가지가 존재한다 프론트(웹 브라우저, 사용자, 클라이언트) HTML, JSP 페이지에서 Javascript를 통해 사용자의 입력 값을 검사함 네트워크(트래픽) 낭비를 방지함 서버의 부하가 적어짐 서버(백, 개발자) 아무리 프론트에서 철저히 유효성 검사를 하더라도 잘못된 URL 호출을 막기엔 한계가 있기 때문에 잘못된 URL 호출에 대해 유효성 검사가 반드시 필요함 즉, Javascript로 유효성 검사를 하는 것에는 한계가 있기 때문에 JAVA로 유효성 검사를 해..
참조 변수 프로그래밍에서 변수가 다른 변수나 데이터 구조에 대한 참조를 가지고 있는 변수를 말함 참조 변수의 특징 OOP(객체 지향 프로그래밍) 에서 특히 JAVA에서 좋아하는 기법 return 값이 2개 이상이 불가능하기 때문에 발달한 기법 (즉, 객체로 저장해서 return 값을 보낸다는 뜻) 실습 @RequestMapping("/test") public String test(VO vo, Model model) { System.out.println("vo : " + vo); model.addAttribute("apple", vo.getId()); return "test"; } Q. 자바에서 파라미터로 사용하는 변수를 보통 '지역변수'라고 하는데 그럼 Model 객체도 지역변수니까 메소드가 종료되면 사..