목록Web (31)
개발합니다
.xml 파일에 생성한 빈(Bean) 객체들을 @Configration 어노테이션을 사용해서 자바로 작성 가능하다. 1. 기본 @Configuration public class MemberConfig { // @Bean public StudentDao studentDao() { return new StudentDao(); } } 2. 태그 사용 /* * * * */ @Bean public StudentRegisterService registerService() { return new StudentRegisterService(studentDao()); } 3. setter를 이용한 의존 객체 주입 /* * * * * * */ @Bean public DataBaseConnectionInfo dataBaseC..
의존객체 자동 주입 : 또는 태그로 의존 대상 객체를 명시하지 않아도 스프링 컨테이너가 자동으로 필요한 의존 대상 객체를 찾아서 필요한 객체에 주입해주는 기능. @Autowired 와 @Resource 어노테이션을 이용해서 구현할 수 있다. 1. @Autowired 주입하려고 하는 객체의 타입이 일치하는 객체를 자동으로 주입한다. @Autowired는 생성자, 프로퍼티, 메소드에 전부 사용할 수 있다. 2. @Resource 주입하려고 하는 객체의 이름이 일치하는 객체를 자동으로 주입한다. @Resource는 생성자에는 사용 못하고, 프로퍼티 또는 메소드에 사용 가능 프로퍼티나 메소드에 사용하려면 디폴트 생성자를 꼭 명시 해줘야함. @Resource private WordDao wordDao; //디폴트..
DI(Dependency Injection) : 객체를 만들어 외부에서 주입하는 방식 1. 생성자를 이용한 의존 객체 주입 bean으로 생성한 DAO 객체를 Service 객체에 태그를 통해 주입 시켜줌. 2. setter를 이용한 의존 객체 주입 public void setJdbcUrl(String jdbcUrl) { this.jdbcUrl = jdbcUrl; } public void setUserId(String userId) { this.userId = userId; } public void setUserPw(String userPw) { this.userPw = userPw; } property 태그를 통해 값을 넣어줌. name 속성은 해당 setter 메소드 이름에서 set을 제거하고 앞글자를..
src/main/java : 실제 자바 언어로 프로그래밍 기능 구현 부분 .java 파일 관리 src/main/resources : 여러 보조적인 역할들의 파일 - 빌드, 개발환경 관련 파일 자원파일 관리 폴더로 스프링 설정 파일(XML) 또는 프로퍼티 파일 등이 관리됨. pom.xml : 메이븐 설정파일로 메이븐은 라이브러리를 연결해주고, 빌드를 해주는 플랫폼이다. 스프링은 pom.xml에 의해서 명시해둔 필요한 라이브러리만 다운로드 해서 사용이 가능하다. resources폴더에 생성한 .xml 파일을 통해 객체를 생성할 수 있다. 생성된 곳을 Spring Container, 생성된 객체를 bean이라고 칭함 [applicationContext.xml] GenericXmlAppricationContex..
1. 문자열 함수 SELECT LOWER(name) FROM USER; -- name를 소문자로 변환 SELECT UPPER(name) FROM USER; -- name을 대문자로 변환 SELECT INITCAP(name) FROM USER; -- name의 첫 문자만 대문자 나머지 소문자 SELECT LENGTH(name) FROM USER: -- name의 길이 출력 SELECT CONCAT(id, name) FROM USER; -- id와 name 문자열 붙인 값 출력 SELECT SUBSTR(name, 2, 4) FROM USER; -- SUBSTR(char, pos, len) char의 pos번째 문자부터 len길이만큼 잘라서 반환 SELECT INSTR(name, 'a', 3) FROM USE..
프로시저(Procedure)는 일련의 작업들을 하나로 묶어서 모듈화한 후 필요할 때마다 호출하여 사용할 수 있는 기능이다. 함수와 비슷해 보이지만 프로시저는 리턴 값이 없다. 그러나 프로시저에서 레퍼런스 변수를 사용하면 결과 값을 리턴할 수 있다. 커서(Cursor)란 특정 SQL 문장을 처리한 결과를 담고 있는 영역을 가리키는 일종의 포인터로, 커서를 사용하면 처리된 SQL 문장의 결과 집합에 접근할 수 있다. - 구조 CREATE [OR REPLACE] PROCEDURE 프로시저명 ( 파라미터 [IN | OUT | IN OUT] 데이터 타입 ) [IS | AS] 변수 선언 BEGIN 프로시저 작업 수행 EXCEPTION 예외처리 END 프로시저명; 1. 사원 정보 리턴 및 부서코드 UPDATE 동시에..
- DECODE 사용방법 : DECODE (컬럼, 조건1, 결과1, 조건2, 결과2, 조건3, 결과3 ...) ex) 1-1 WITH temp AS ( SELECT 'M' gender FROM dual UNION ALL SELECT 'F' gender FROM dual UNION ALL SELECT 'X' gender FROM dual ) SELECT gender , DECODE(gender, 'M', '남자', 'F', '여자', '기타') gender2 FROM temp if (gender == "M") { return "남자"; } else if (gender == "F") { return "여자"; } else { return "기타"; } GENDER GENDER2 M 남자 F 여자 X 기타 e..
Primary Key CREATE TABLE EX1 ( A VARCHAR2(30) PRIMARY KEY, B VARCHAR2(30) ); 또는 CREATE TABLE EX1 ( A VARCHAR2(30), B VARCHAR2(30), CONSTRAINT TEST_PK PRIMARY KEY(A) ); CONSTRAINT 기본키명 PRIMARY KEY(컬럼명) Foreign Key 1. 테이블 생성할 때 설정 CREATE TABLE EX2 ( A VARCHAR2(30), B VARCHAR2(30), CONSTRAINT TEST_FK FOREIGN KEY(A) REFERENCES EX1(A) ); CONSTRAINT 외래키명 FOREIGN KEY(컬럼명) REFERENCES 참조테이블명(참조컬럼) 2. 생성된..
학습했던 mysql과 대부분 비슷하지만 복습하는 느낌으로 다시 한 번 정리 1. CREATE CREATE TABLE USER ( ID CHAR(10), PW VARCHAR2(30), NAME VARCHAR2(30), NUM NUMBER A_DATE DATE, B_DATE TIMESTAMP, LARGE_DATA CLOB ); 데이터 타입 CHAR(n) : 고정길이 문자 / 최대 2000byte / 디폴트 1byte VARCHAR2(n) : *가변길이 문자 / 최대 4000byte / 디폴트 1byte LONG : 최대 2GB 크기의 가변길이 문자형 NUMBER : 가변숫자 / 최대 22byte DATE : 연, 월, 일 ,시 ,분, 초 입력 가능 TIMESTAMP : 연도, 월, 일, 시 ,분 ,초 + 밀..
Controller - Service - DAO - DB Controller에서 Request를 받으면 적절한 Service에 전달하고, Service는 비즈니스 로직을 처리한다. DAO로 데이터베이스를 접근하고 DTO로 데이터를 전달받은 다음, 적절한 처리를 해 반환한다. 1. Web Browser에서 데이터 요청 2. Controller에서 해당 Service 호출 3. Service에서 비즈니스 로직 수행 4. DAO를 통해 데이터베이스에 접속하여 비즈니스 로직 실행에 필요한 쿼리 호출 5. DB에서 알맞은 쿼리를 실행하고 결과 값 반환