전체 글 (197) 썸네일형 리스트형 JDBC 실습 - DELETE * Primary key (기본키) - 후보키들 중에서 하나를 선택한 키로 최소성과 유일성을 만족하는 속성 - ex) 네이버 아이디, 핸드폰 번호, 주민번호 - 테이블에서 기본키는 오직 1개만 지정 가능 - 기본키는 테이블 안에서 유일하게 각 행들을 구별할 수 있도록 함 - 기본키는 NULL 값을 절대 가질수 없고, 중복된 값을 가질 수 없음 * Foreign Key (외래키) - 한쪽 테이블에서 쓰는 PK를 다른 테이블에서도 사용하는 것 - 테이블끼리 연동할 때 사용 (hr 계정 -> job_history & employees 테이블) - 테이블을 나누어서 관리하는 것이 효과적일 때, PK로 연결해서 분리시키면 관리하기 편리함 1. IEmpDAO 인터페이스 / EmpDAO 클래스 작성 void dele.. JSTL *JSTL -JSP Standard Tag Library -태그를 사용하면 깔끔하고 가독성이 높아짐 -추가적인 라이브러리가 jar 파일 형태로 제공 (jstl.jar, standard.jar) http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ -WEB-INF/lib 폴더에 복사하여 사용 -라이브러리를 사용하려면 taglib 지시자 추가 (따옴표 주의) *JSTL core 태그 1. - setAttribute() 메서드와 같은 역할, 속성을 생성하고 속성 값을 지정하는 데 사용 - scope 영역은 page(디폴트), request, session, application 중 선택 가능함 변수에 값을 저장할 때 자바 빈 객체 생성할 때 자바.. EL (표현언어) * EL(Expression Language, 표현언어) - JSP 출력에 대한 부분을 쉽게 하기 위해 개발한 태그 - → ${expr} - 스프링과 같은 프레임워크에서는 표현식 대신에 표현언어 사용 - 문자열은 ${"Hello"} 쌍따옴표 필요 - null 값은 화면에 공백으로 표시 * JSP에서 문자열 출력 방법 EL → ${"Hello"} 표현식 → 내장객체 out → * 내장객체 param - 사용자가 폼에 입력한 값을 얻어올 때 사용하는 내장 객체 - 아이디 : -> 아이디 : ${param.id} - request.getParameter는 리턴형이 무조건 String이므로 산술 연산을 하려면 int로 변환해야함 하지만, EL은 형변환을 할 필요가 없기 때문에 코드가 간결해짐 * 서블릿 클래스에.. 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 구문이므로 테이블에 그 값을 저장 - 구문을 꼭 사용한다는 점! JDBC 실습 - SELECT [조건(WHERE)이 있는 출력1] * 한 개의 매개변수(? 부분)를 받는 SELECT문 실행 -> 출력이 한 줄 혹은 0줄 1. IEmpDAO 인터페이스 / EmpDAO 클래스에 메서드 추가 - 부서 아이디를 입력받아(매개변수, ?) 그에 따른 직원 수를 구하는 메서드 - queryForObject 메서드 1) queryForObject (sql, Integer.class) sql -> 쿼리 구문이 변수명으로 담김 Integer.class -> 쿼리 결과값의 리턴 자료형을 적어줌 2) queryForObject (sql, Integer.class, deptid) deptid -> 매개변수 값이 들어옴 = ? 값이 들어옴 2. IEmpService 인터페이스 / EmpService 클래스 작성 3. Controller 작성 - 같은 val.. JDBC 실습 - 흐름 / SELECT [단순한 조회] * DB 제어 의존 관계 설정 과정 1) dataSource 객체 생성 2) jdbcTemplate 객체는 dataSource 객체를 주입 (jdbcTemplate는 dataSource에 의존) 3) dao(repository) 객체는 jdbcTemplate 객체를 주입 (dao는 jdbcTemplate에 의존) 4) service 객체는 repository(dao) 객체를 주입 (service는 dao에 의존 - 쿼리문 처리 과정이 필요하기 때문) 5) controller 객체는 service 객체를 주입 (controller는 service에 의존) * 각 객체의 역할 1) dataSource 객체 : 접속을 담당 2) jdbcTemplate 객체 : DB에 접근할 수 있는 통신기 역할 / 쿼리문을 .. 이전 1 ··· 19 20 21 22 23 24 25 다음