국비지원학원 114

126일차-Spring AOP~127일차-AOP

*Spring AOP(Aspect Oriented Programming) 관점 지향 programming(횡단 관심사의 처리) 종단관심사 처리 | (상속의 특징) | 부모-업무정의하면 자식 사용가능 //=>단점이 자식이지만 하고싶지않을때 해결할 방법이 없다. | 자식A 자식B ↓ 자식AA 횡단관심사 처리 =>부기능을 분리할 수 있다. 부분 공선의 오영근 정택성 지문() 지문() 지문() //=>부 수업() 수업() 수업() //=>주 -------------------------→ 주 업무로직에서 부가적인 기능의 코드가 분리되므로 코드의 복잡도가 낮아진다(떨어진다) //=>장점 용어) Aspect(관점) : Advice와 JoinPoint를 묶어놓은 것. Advice : 부가적인(공통) 코드를 정의하는 ..

118일차-Spring Framework~125일차-ORM

*예외처리 Controller에서의 예외처리 @ExceptionHandler Annotation사용 @Controller class Test { @RequestMapping(...) public String method(int..) throws Exception{ } //RequestMapping은 DispatherServlet이 불러 사용하게 되는데 예외를 처리하려면... ///Dispather Servlet이 잡을 예외를 내가 잡아 이쁘게 보기위한것으로 Controller의 method가 예외를 날리면 Dispather Servlet가 처리 순서) 1.요청처리하는 method에서 throws로 예외를 날림 2.예외처리하는 method위에서 @ExceptionHandler 정의 //메소드의 반환형은 반..

117일차-Spring Framework_parameter 처리

*Controller 만들기 //=class method로 요청 처리 @Controller public class XxxController{ @RequestMappein(value="/요청이름.do" , method(요청이름에 대한 요청방식)=RequestMethod.GET|POST) //URL이 변경되지 않는 forward방식 public String method명(하는일의 이름으로 해야 구별 쉬움)(매개변수-파라메터를 받을 목적){ //method가 public이 아니면 밖에서 부를 수 없음 return "응답할페이지명" //String타고 나가면서 VIewResolver=>기본이 forward방식으로 호출됨. (Request.setAttribute에 넣으면 이동할 페이지에서 받아사용O) //WEB-..

116일차-Spring Framework설명

*Spring Framework //최소한의 품질보장 Rod Johnson 창시 (EJB( Enterprise JavaBeans : 업무로직가진 서버어플리케이션)없이 업무로직 구현) Spring IoC( Inversion of Control) : 제어의 역행(약결합이 좋다)=>약결합 : 객체간의 관계를 객체외부에서 설정(유연성이 좋다)=>인터페이스(자바의꽃) //(=>객체가 만들어지면서 안에서 결합=>강결합) IoC=>DI (Dependancy Injection) : 업무를 처리할 때 객체를 의존성주입 받아서 처리하는 : Spring core EJB의 단점을 해결한 Framework EJB단점) => EJB Container에 의존성(없으면 안되는듯) =>무겁다(안정적, 느리다) =>(구조가)복잡하다(배..

116일차-Procedure사용

create or replace procedure 프로시저명( 매개변수 in 데이터형,,, 매개변수 out SYS_REPRCURSOR //커서의 제어권을 외부로 보내는 데이터형 ) is begin end; / *조회를 하는 Procedure(반환형이 없는)를 호출 Parameter처리 IN : #{getter명, mode=IN} OUT : 단일형 : #{setter명, mode=OUT, jdbcType=DB데이터형(number->NUMERIC), JavaType=Java의 데이터형(int)} CURSOR : #{setter명, mode=OUT, jdbcType=CURSOR, JavaType=ResultSet, resultMap=mapID} //mapID가 오는 부분(조회되는 컬럼과 setter Mappi..

115일차-페이지 선택유지/dynamicQuery/procedure사용

//값을 여러개 선택하여 검색하는 경우에는 hidden태그와 Param으로 전달받아 함께 검색해야 유지된다. 히든 과? Param으로 받아 삼항연산자 사용해야 동기로 값이 유지! > //car_mapper.xml select maker from car_country where country = #{ country } select model from car_maker where maker = #{ maker } select cmo.car_img, cma.maker, cmo.model, cmo.car_year, cmo.price, cmo.car_option from car_maker cma, car_model cmo where (cmo.model = cma.model) and cmo.model = #{ mo..

113일차-지도 마무리/조회 마무리

//like.jsp 동 예) 상도동, 역삼동 ${param.dong} 의 조회 우편번호 주소 ${param.dong} 은 존재하지 않습니다. //exam_mapper1.xml SELECT EMPNO,ENAME,JOB,SAL,MGR,TO_CHAR(HIREDATE,'YYYY-MM-DD Q') HIREDATE FROM EMP SELECT DNAME FROM DEPT WHERE DEPTNO=10 select deptno from dept SELECT DNAME,LOC FROM DEPT WHERE DEPTNO=10 WHERE DEPTNO=#{deptno1} WHERE DEPTNO=#{deptno} and job=#{job} where sal where sal > #{sal} order by..

112일차-MyBatis

//에러는 console의 문장 맨뒤만 보면된다..! //설정용xml은 DB연동 정보+사용할 Mapper //쿼리가 있는 xml은 mapper.xml id가 중요한데 id가 없다~~그러면 얘를 본다. //설정파일을 모르갰다~!그러면 코드를 봐준다. (src하위 부터) ss.insert("id")이기 때문에 아이디가 없다~그러면 여기도 확인해 준다. //mapper안에 들어가는 타입 두가지로는 //parameterType=" VO " //외부의 값을 내부로 전달할 때 //=>insert,update,delete,select 다 //resultType=" Domain " //조회 결과를 외부로 내보낼 때 //=>select //=>공통으로 패키지명.클래스명 사용가능하다+java의 data type도 가능하다..