MyBatis를 이용시 SQL을 처리할 때 어노테이션을 이용하는 방식이 편리하지만 SQL이 복잡하거나 길어지는 경우엔 XML을 이용하는 것을 더 선호합니다. XML을 작성해서 사용할 때에는 XML파일의 위치와 namespace속성이 중요합니다. 태그의 id 속성 값은 메서드의 이름과 동일해야 합니다. 태그의 경우 resultType 속성을 가지는데 이 값은 인터페이스에 선언된 메서드의 리턴 타입과 동일하게 작성합니다.
MyBatis는 흔히 SQL 매핑(mapping) 프레임워크로 분류됩니다. JDBC 프로그래밍 구조와 MyBatis의 비교 JDBC 프로그래밍 MyBatis 직접 Connection을 맺고 마지막에 close() PerparedStatement 직접 생성 및 처리 PreparedStatement의 setXXX()등에 대한 모든 작업을 개발자가 처리 SELECT의 경우 직접 ResultSet처리 자동으로 Connection close() 가능 MyBatis 내부적으로 PreparedStatement 처리 #{prop}와 같이 속성을 지정하면 내부적으로 자동 처리 리턴 타입을 지정하는 경우 자동으로 객체 생성 및 ResultSet처리 MyBatis는 기존의 SQL을 그대로 활용할 수 있다는 장점이 있고, 진..
Lombok을 사용하면 자바 개발시 자주 사용하는 getter/setter, toString(), 생성자등을 자동으로 생성해줍니다. 그래서 약간의 코드만으로 필요한 클래스를 설계할 때 유용하다고 합니다. Lombok 다운로드 projectlombok.org/ Project Lombok projectlombok.org 1. 상단메뉴 - 다운로드를 클릭. 2. 다운로드 클릭. 3. 다운로드 된 lombok.jar 실행. 4. Specify location 을 클릭하여 필요한 IDE를 선택. 5. 해당 IDE 실행파일의 XXX.ini 파일을 선택. 6. 그럼 다음과 같이 추가가 되고, Install / Update 를 클릭하면 끝!
자바스크립트의 변수선언은 var, let, const 기본형 참조형 1단계 컴파일과정(스캐닝과정)에서 a라는 공간을 메모리에 생성. undefined , 전(체지)역 변수와 전역 함수를 메모리에 등록함. 2단계 런타임과정 console.log(a); var a = 10; console.log(a); // 10 스코프 생명영역 var는 오로지 함수영역만 영향을 받음, let은 블록영역에 영향을 받음. 블록 스코프 const는 상수의 개념, 재선언 재할당 불가능. var a; // undefined (값과, 타입으로 쓰임) typeof -> 타입 출력, var b = null; console.log( a == b ); console.log( a === b ); a == b (값을 비교) ture a === ..
Primary Key (PK, 기본키) 기본키는 다른 항목과 절대로 중복되어 나타날 수 없는 단일 값을 가집니다. 그리고 절대 null값을 가질 수 없습니다. 사람의 주민등록번호를 생각하면 이해가 쉽습니다. 주민등록번호는 다른 사람과 절대 중복되지 않습니다. 그리고 주민등록번호가 없는 사람은 없죠. 기본키가 그런 개념입니다. 그리고 기본키의 조건엔 한가지가 더 있습니다. 변경될 수 있는 경우가 없어야 한다는 것입니다. 이렇게 기본키의 조건은 1) 단일 값 2) not null 3) 변경되지 않을 값 세가지가 있습니다. 기본키는 하나의 테이블에 중복된 데이터가 삽입되는 것을 방지해줍니다. Foreign Key (FK, 외래키, 참조키) 외래키는 다른 테이블의 기본키를 참조하는 속성 또는 속성들의 집합을 의..
AOP란 상속을 통한 방법에 한계를 극복하기 위해서 등장한 방법입니다. 핵심 기능과 공통 기능을 분리 시켜놓고, 공통 기능을 필요로 하는 핵심 기능들에서 사용하는 방식 입니다. Aspect : 공통기능 Advice : Aspect의 기능 자체 Joinpoint : Advice를 적용해야 되는 부분 (ex. 필드, 메서드) 스프링에서는 메서드만 해당한다. Pointcut : Joinpoint의 부분으로 실제로 Advice가 적용되는 부분 Weaving : Advice를 핵심 기능에 적용하는 행위 스프링에서 AOP를 구현할때는 proxy를 이용합니다. 예를들어 Joinpoint 시작과 끝에서 Advice를 실행할때 Advice는 중간에 끼어드는 것이 아니라 proxy를 통해서 실행됩니다. - XML 기반의 ..