SPRING (86) 썸네일형 리스트형 mybatis 실습 - INSERT 1. IEmpDAO 인터페이스 작성 - 인터페이스를 통해 구현하고자 하는 메서드 작성 - insert 메서드에 파라미터 값이 들어오지만? 왜 Param 안쓰지? Param은 일반 자료형에서만 쓴다!!! 2. IEmpDAO를 구현한 EmpMapper.xml 파일 작성 - resultType은 select 구문에서만 사용. 따라서 insert 구문에서는 생략된 것을 확인 - 값을 넣을 때는 db의 컬럼명보다 VO 객체의 필드명이 더 중요!!! (employee_id mybatis 실습 - SELECT 1. IEmpDAO 인터페이스 작성 - 인터페이스를 통해 구현하고자 하는 메서드 작성 - mybatis에서는 메서드에 파라미터값이 들어오면 @Param 어노테이션을 이용해서 xml의 #{ }에서 파라미터를 쓸 수 있게 해줘야함 2. IEmpDAO를 구현한 EmpMapper.xml 파일 작성 (JDBC의 DAO와 동일) sql문 작성 sql문 작성 // 두 가지 이상의 쿼리문이 섞이면서 조건을 달아줘야할 경우 사용 - id : 구현하고자하는 인터페이스의 메서드명 - parameterType : 메서드에 파라미터가 있다면 그 파라미터의 자료형 / 쿼리문에 따라 선택적인 값 - resultType : sql문을 실행한 결과의 자료형 = 메서드의 리턴타입 / select 구문에서만 사용 2-1) 총 직원 수 조.. Eclipse & Oracle 연결 - mybatis 설정 * 스프링과 mybatis의 관계 스프링은 웹 애플리케이션만을 만들기 위한 프레임워크가 아니라 웹을 만들기 위한 하나의 방법일 뿐 스프링으로 구현할 수 있는 건 웹 말고도 너무 많은데 그중에 웹에 사용해도 좋네? 해서 사용하게 된 것 mybatis도 마찬가지로 스프링을 위해 만들어진 건 아니고 단지 스프링과 같이 써보니까 좋아서 쓰는 거임 Controller - Service - DAO 인터페이스 - mybatis Mapper ------------------- DB (어떤 DB던지 가능) mybatis-spring 즉, 결합도가 낮아지는데 도움을 준다. 대신 응집도는 높아진다. * mybatis - SQL 매핑 프레임워크의 한 종류 - 스프링과 연동하여 좀 더 빠르게 SQL을 처리할 수 있게해줌 - m.. JDBC 실습 - UPDATE 1. IEmpDAO 인터페이스 / EmpDAO 클래스 작성 void updateEmp(EmployeeVO emp); // 해당 인터페이스 내용 구현 2. IEmpService 인터페이스 / EmpService 클래스 작성 void updateEmp(EmployeeVO emp); // 해당 인터페이스 내용 구현 3. Controller 작성 - 실제 POST 작업 말고, GET 작업에서 -> 수정 작업이다보니 브라우저를 처음 로딩해줄 때 미리 셋팅해줘야할 사항들이 있음 - 추가 폼에서 select 박스를 map을 이용해서 셋팅해줬듯이 수정 폼에서도 똑같이 셋팅 (세 가지 사항) + 직원 한 사람의 결과를 조회해주는 메서드를 가져와서 폼에 미리 정보들을 다 넣어줘야함 (한 가지 사항) -> 이러한 과정을 다.. JDBC 실습 - DELETE * Primary key (기본키) - 후보키들 중에서 하나를 선택한 키로 최소성과 유일성을 만족하는 속성 - ex) 네이버 아이디, 핸드폰 번호, 주민번호 - 테이블에서 기본키는 오직 1개만 지정 가능 - 기본키는 테이블 안에서 유일하게 각 행들을 구별할 수 있도록 함 - 기본키는 NULL 값을 절대 가질수 없고, 중복된 값을 가질 수 없음 * Foreign Key (외래키) - 한쪽 테이블에서 쓰는 PK를 다른 테이블에서도 사용하는 것 - 테이블끼리 연동할 때 사용 (hr 계정 -> job_history & employees 테이블) - 테이블을 나누어서 관리하는 것이 효과적일 때, PK로 연결해서 분리시키면 관리하기 편리함 1. IEmpDAO 인터페이스 / EmpDAO 클래스 작성 void dele.. JDBC 실습 - INSERT 1. IEmpDAO 인터페이스 작성 - insert sql 구문을 처리해 줄 메서드 한 개 (select의 경우에만 sql 실행 결과에 맞는 자료형으로 리턴타입을 적어줌) - 태그에서 selectBox에 값을 셋팅해줄 List 메서드 세 개 이 경우, 태그에 수동으로 적어줘도 상관없지만 값이 상당히 많기에 차라리 값을 가져와서 변수에 저장하고 변수의 값들을 구문으로 불러오는 방법을 사용 -> 더 정확하고 빠른 코딩 가능 * Map 인터페이스란? - 키(key)와 값(value)의 쌍으로 이루어진 데이터의 집합 - 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용 - key를 사용하여 value값을 얻어냄 - ex) 우편번호, 지역번호(전화번호) - 구현 클래스: HashMap, Tr.. JDBC 실습 - SELECT [조건(WHERE)이 있는 출력2] * 사원 아이디를 입력받아 상세 페이지 출력하기 1. IEmpDAO 인터페이스 / EmpDAO 클래스 작성 - 사번을 입력받아 해당하는 직원의 상세 정보를 출력하는 메서드 - 리스트와는 다르게 한 명, 한 줄의 데이터만 필요함 -> 즉, EmployeeVO 1개 필요 - 리턴이 한 줄 혹은 0줄 -> 리턴 타입은 EmployeeVO - 매개변수로 사번(empid)을 입력받는 것까지 확인 - EmpMapper 클래스에 정보를 저장해두었으니, 그것을 가져다씀 2. IEmpService 인터페이스 / EmpService 클래스 작성 3. Controller 작성 - @PathVariable 어노테이션 사용 - value = "hr/103" 이라고 입력하면 103번 사원의 정보가 출력 - 사용자로부터 받은 {e.. JDBC 실습 - SELECT [직원 전체 목록 출력] * 여러 줄의 리스트를 출력하는 SELECT문 실행 - RowMapper 인터페이스 사용 1. IEmpDAO 인터페이스 / EmpDAO 클래스 작성 2. IEmpService 인터페이스 / EmpService 클래스 작성 3. Controller 작성 - 여기에서 반환타입이 List인 것을 확인 --> 어떻게 그런 값이 나왔냐? DAO 클래스보고 확인 4. jsp 파일 작성 및 브라우저 출력 - 여러 개의 목록을 출력하는 select 구문이므로 테이블에 그 값을 저장 - 구문을 꼭 사용한다는 점! 이전 1 ··· 6 7 8 9 10 11 다음