0. JPA, MyBatis 등장 배경 기존에 JDBC를 사용헀을 때는 sql문이 코드에 섞여 있었고 만들어 요청하는 과정에서 sql문 생성시 String을 붙이고 자르는 등의 작업이 필요해서 sql문이 조금만 길어져도 번거롭고 관리도 힘들었다. 따라서 코드와 sql문을 분리해서 관리하기 위해서 JPA, MyBatis 등을 사용한다. 1. MyBatis란 ? 1. SQL 실행 결과를 자바 빈즈 또는 Map 객체에 매핑해주는 Persistence 솔루션으로 관리한다. SQL을 소스 코드가 아닌 XML로 분리한다. 2. SQL문과 프로그래밍 코드를 분리해서 구현한다. 3. 데이터소스 기능과 트랜잭션 처리 기능을 제공한다. 2. MyBatis의 장점, 단점 장점: 1. 접근이 쉽고 코드가 간결하다. (배우기가..
Java에서 줄을 바꿀 때는 개행문자 \n, \r 을 사용한다. Code System.out.println("Hello\nJava"); Output Hello Java 하지만 이 방법은 코딩할 때 지양한다. 왜냐하면 시스템에 따라서 사용하는 개행문자가 다르기 때문이다. \r,\n - windows \r - mac \n - unix 위의 코드를 mac 환경에서 실행할 경우 줄바꿈이 되지 않는다. 따라서, 2가지 메소드를 사용하여 시스템에 상관없이 개행문자를 사용하는 것이 좋다. 1) System.lineSeparator() 2) System.getProperty("line.separator") System.lineSeparator() 사용 Code System.out.println("Hello" + Sys..
K 004/071 찬란한 이상해꽃 (K) 011/071 찬란한 리자몽 (K) 018/071 찬란한 거북왕 (K) 055/071 찬란한 이브이 (K) SR 072/071 알로라 나시 V (SR) 073/071 뮤츠 V (SR) 075/071 노보청 V (SR) 077/071 멜메탈 V (SR) 078/071 망냐뇽 V (SR) 079/071 게을킹 V (SR) 080/071 칸델라 (SR) 081/071 스파크 (SR) 082/071 박사의 연구 (SR) 083/071 블랑쉬 (SR) 특별 일러스트 (SR) 074/071 뮤츠 V (특별 일러스트) (SR) 076/071 노보청 V (특별 일러스트) (SR) HR 084/071 뮤츠 VTAR (HR) 085/071 멜메탈 VMAX (HR) 086/071 망..
Spring 작업할 때 MyBatis mappers.xml 에서 비교연산자 사용할 시에 오류가 발생한다. (The content of elements must consist of well-formed character data or markup.) 방법 1. CDATA 쿼리를 CDATA로 감싸주는 방법 ex1) 쿼리 전체
이상해씨 이상해풀 이상해꽃 파이리 리자드 리자몽 꼬부기 어니부기 거북왕 캐터피 단데기 버터풀 뿔충이 딱충이 독침붕 구구 피죤 피죤투 ㄲ
프로퍼티(Properties) 파일이란, - KeyWord 설정 정보를 XML로 분리해두면 빈 클래스나 의존관계 정보를 소스코드 수정 없이도 간단히 조작할 수 있다. XML에는 빈의 정의와 의존관계뿐 아니라 빈이 필요로 하는 각종 설정 정보를 프로퍼티 값으로 지정해줄 수도 있다. (대표적인 설정 값 : dataSource) 서버환경에 종속적인 정보가 있다면, 이를 애플리케이션의 구성정보에서 분리하기 위해서이다. 환경에 따라 자주 변경될 수 있는 내용은 프로퍼티 파일로 분리하는 것이 가장 깔끔하다. XML처럼 복잡한 구성이 필요 없고 키와 그에 대응되는 값의 쌍으로 구성하면 충분하기 때문이다. 장점 : @Value를 효과적으로 사용할 수 있다. @Value는 소스코드 안에 포함되는 애노테이션이어서 값을 수..
· 사용자의 레벨은 BASIC, SILVER, GOLD 세 가지 중 하나다. · 사용자가 처음 가입하면 BASIC 레벨이 되며, 이후 활동에 따라서 한 단계씩 업그레이드될 수 있다. · 가입 후 50회 이상 로그인을 하면 BASIC에서 SILVER 레벨이 된다. · SILVER 레벨이면서 30번 이상 추천을 받으면 GOLD 레벨이 된다. · 사용자 레벨의 변경 작업은 일정한 주기를 가지고 일괄적으로 진행된다. 변경 작업 전에는 조건을 충족하더라도 레벨의 변경이 일어나지 않는다. 1. 정수형 상수 값으로 정의했을 때 (사용하면 안됨) class User { private static final int BASIC = 1; private static final int SILVER = 2; private sta..
1. 왼쪽 Navigator-schemas 메뉴에서 Tables에 마우스 오른쪽 클릭 2. new_table - Table 창에서 정보 입력 후 Apply 1) Table Name : 테이블 명 2) Column Name : 컬럼 명 3) Datatype : 데이터타입 설정 4) PK : (PRIMARY KEY) 기본 키, 고유한 식별자로 인식됨 5) NN : (NOT NULL) 체크된 컬럼은 반드시 값이 존재해야함 6) AI : (AUTO_INCREMENT) 자동 증가를 의미함 7) UQ : (UNIQUE INDEX) 8) ZF : (ZEROFILL) 9) G : (Generated Column) 3. Apply 후 구문 확인 가능 (Apply 한 번 더 누른 후 Finish 누르면 됨)
1.1 DML (Data Manipulation Language) 1) 데이터 조작어 2) 데이터베이스의 데이터를 관리하는데 사용된다. 1.2 DML 종류 1) SELECT 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어 2) INSERT 테이블에 들어 있는 데이터에 삽입을 하는 명령어 3) UPDATE 테이블에 들어있는 데이터를 변경하는 명령어 4) DELETE 테이블에 들어있는 데이터를 삭제하는 명령어 2.1 DDL (Data Definition Language) 1) 데이터 정의어 2) 데이터베이스 구조 또는 스키마를 정의하는데 사용 2.2 DDL 종류 1) CREATE 데이터베이스의 객체를 생성 2) ALTER 데이터베이스의 구조를 변경 3) DROP 데이터베이스의 객체를 삭제 ..
@RestController는 @Controller에 @ResponseBody가 추가된 것으로 주 용도는 Json 형태로 객체 데이터를 반환하는 것이다. Controller로 View 반환 1. Client는 URI 형식으로 웹 서비스에 요청을 보낸다. 2. DispatcherServlet이 요청을 위임할 HandlerMapping을 찾는다. 3. HandlerMapping을 통해 요청을 Controller로 위임한다. 4. Controller는 요청을 처리한 후에 ViewName을 반환한다. 5. DispacherServlet은 ViewResolver를 통해 ViewName에 해당하는 View를 찾아 사용자에게 반환한다. Controller로 Data 반환 1. Client는 URI 형식으로 웹 서비스..