JDBC 02 _ mvc 패턴 이용한 JDBC Statement(2)
2022. 12. 1. 21:16
JDBC
3_1. View) 회원 아이디로 검색 -> 회원 아이디 입력받을 메소드 생성 후 Controller로 전달 public String inputMemberId() { System.out.print("\n회원 아이디 입력 : "); return sc.nextLine(); 3_2 Controller) Dao에 입력받은 값 전달 -> Dao에서 전달받은 객체를 통해 검색결과 성공유무 도출 public void selectByUserId(String userId) { Member m = new MemberDao().selectByUserId(userId); if(m == null) { // 검색결과가 없을경우 new MemberMenu().displayNoData(userId +"에 검색결과가 없습니다."); ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWetRf%2FbtrSs0urRnb%2FMnGnJmIqbinn8EMX2Ir5r0%2Fimg.png)
JDBC 02 _ mvc 패턴 이용한 JDBC Statement(1)
2022. 12. 1. 20:45
JDBC
M (Model) : 데이터 처리 담당 V (View) : 사용자가 보게 될 화면 담당 (출력 및 입력) C (Controller) : 사용자의 요청 처리해주는 담당 EX ) 회원관리 프로그램 oracle 의 MEMBER 테이블과 연동하여 회원관리 프로그램 만들기 1. oracle 의 MEMBER 테이블을 참조하여 이클립스 Model.vo 패키지에 Member 클래스 생성 2. View 패키지에 사용자가 보게될 메인 메뉴 출력 public class MemberMenu { private Scanner sc = new Scanner(System.in); private MemberController mc = new MemberController(); /** * 사용자가 보게될 첫 화면 (메인화면) */ pu..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2R07n%2FbtrSwMVZdlH%2FIakIykobSwiF71ucOreOZ0%2Fimg.png)
JDBC 01 _ delete문
2022. 11. 30. 17:25
JDBC
Delete문 => 처리된 행수 결과 = > 트랜잭션 처리 1. 처리된 결과를 받을 변수와 jdbc 객체 세팅 int result = 0 ; Connection conn = null; Statement stmt = null; 2. 사용자에게 삭제하고자할 번호 입력받아 sql문 작성 Scanner sc = new Scanner(System.in); System.out.print("삭제하고자하는 번호 : "); int no = sc.nextInt(); String sql = "DELETE FROM TEST WHERE TNO = " + no; 3. jdbc과정 try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConn..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2CnJz%2FbtrSwD5VVFP%2FtTKUfaf6V0Z9POWCfg0zek%2Fimg.png)
JDBC 01 _ update문
2022. 11. 30. 17:15
JDBC
update문 => 처리된 행수 (int형) => 트랜잭션 처리 1. 처리된 결과를 받을 변수와 jdbc 객체 세팅 int result = 0; Connection conn = null; Statement stmt = null; >ResultSet객체는 select문에서만 필요 2. 사용자에게 수정하고자하는 번호와 수정할 내용 입력받아 update할 sql문 작성 Scanner sc = new Scanner(System.in); System.out.print("수정하고자하는 번호 : "); int no = sc.nextInt(); sc.nextLine(); System.out.print("수정할 내용 : "); String name = sc.nextLine(); String sql = "UPDATE TE..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ31Ru%2FbtrSsRRXqE8%2F3R3Ae5hsAH4q0z7mJKpfW0%2Fimg.png)
JDBC 01 _ 여러행 select문 조회
2022. 11. 30. 17:05
JDBC
**Select문 => 실행결과를 ResultSet으로 받기 => ResultSet으로부터 데이터 뽑아 자바객체(ArrayList)에 옮겨 담기 1. 최종 조회 결과를 담을 자바 객체 와 JDBC 과정중에 필요한 객체 미리 세팅 ArrayList list =new ArrayList();// 텅빈리스트 Connection conn = null; Statement stmt = null; ResultSet rset = null; 2. 앞으로 실행할 sql문 변수에 담기 String sql = "SELECT TNO,TNAME,TDATE FROM TEST"; 3. JDBC과정 try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager...
ORACLE 실습문제 _ 종합실습문제 _오답노트
2022. 11. 29. 18:37
ORACLE/ORACLE 실습문제
*도서관련 실습문제 1. 저작 형태가 옮김 에 해당하는 작가들이 총 몇 명인지 계산하는 SQL 구 문을 작성하시오 결과 헤더는 작가 (명) 으로 표시되도록 할 것 SELECT COUNT(DISTINCT WRITER_NM)"작가(명)" FORM TB_BOOK_AUTHOR JOIN TB_WRITER USING (WRITER_N0) WHERE COMPOSE_TYPE = '옮김'; 2. 가장 많은 책을 쓴 작가 3 명의 이름과 수 량을 표시하되 , 많이 쓴 순서대로 표시하는 SQL 구 문을 작성하시오 단 , 동명이인( 同名異人 ) 작가는 없다고 가정한다 .( 결과 헤더는 작가 이름 ”, 권 수 로 표시 되도록 할것) SELECT * FROM ( SELECT WRITER_NM"작가이름", COUNT(*)"권 수"..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUSdNN%2FbtrSwq6S5Xi%2FvWU4rpWblGSW5XcUk6ZfJ1%2Fimg.png)
JDBC 01 _ insert문 삽입
2022. 11. 29. 17:33
JDBC
insert문 = 처리된 행수 (int) => 트랜잭션 처리 예시) 내 PC(localhost) DB상 JDBC계정에 있는 TEST 테이블에 INSERT하기 //실행 결과를 보관할 변수 int result = 0; //JDBC 과정중에 필요한 객체 Connection conn = null; Statement stmt = null; -실행할 sql문 변수에 담기 String sql = "INSERT INTO TEST VALUES(SEQ_TESTNO.NEXTVAL,'테스트4',SYSDATE)"; -> 사용자로 부터 입력받은 값 insert하고자할때 Scanner sc = new Scanner(System.in); System.out.print("추가하고자하는 이름 입력 : "); String name = s..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP9jG0%2FbtrStzDtJ6W%2FuGmI5tLVb90tLzIcXWoBhK%2Fimg.png)
JDBC 01 _ 단일행 select문 조회
2022. 11. 29. 17:23
JDBC
select문 => 실행결과 ResultSet에 받기 => ResultSet으로 부터 데이터 하나씩 뽑아서 자바 객체에 세팅 예시) 내 PC(localhost) DB상 JDBC계정에 있는 TEST 테이블에 1번 데이터 조회해보기 //조회된 데이터들을 담을 자바객체 세팅 Test t = null; //JDBC에 필요한 객체 미리 세팅 Connection conn = null; Statement stmt = null; ResultSet rset = null; -실행할 sql문 변수에 담기 String sql = "SELECT TNO,TNAME,TDATE FROM TEST WHERE TNO = 1"; -> 사용자가 입력한 값으로 조회하고자할때 sql문 ( Scanner이용) Scanner sc = new Sc..
JDBC 01 _ Basic
2022. 11. 29. 17:07
JDBC
JDBC (Java DataBase Connectivity) 자바에서 데이터 베이스에 접근할 수 있게 해주는 Programming API JDBC용 객체 - DriverManger : Connection 객체를 사용하기 위한 객체 - Connection : DB에 접속해서 DB의 연결정보를 담고 있는 객체 ( + Statement객체를 생성하기 위한 객체) - [Prepared] Statement : 연결된 DB에 sql문을 전달해서 실행하고, 그결과 값을 받아내는 객체 ** - ResultSet : Select 문 실행후 조회된 결과물들이 담겨있는 객체 JDBC과정(순서중요) 1) jdbc driver 등록 : 해당 DBMS(오라클)가 제공하는 클래스 등록 Class.forName("oracle.jdb..
ORACLE 14. OBJECT(TRIGGER)
2022. 11. 29. 16:44
ORACLE
내가 지정한 테이블에 INSERT,UPDATE,DELETE등의 DML문에 의해 변경사항이 생길때(즉, 테이블에 이벤트 발생했을때) 매번 "자동으로 실행시킬 내용"을 미리 정의해둘 수 있는 객체 EX) - 회원 탈퇴시 기존의 회원테이블에 데이터 DELETE 후 곧바로 탈퇴한 회원들만 따로 보관하는 테이블에 자동으로 INSERT처리해야할때 - 회원의 신고횟수가 일정 수를 넘었을 경우 묵시적으로 해당 해원을 블랙리스트로 처리 되게끔할때 - 입출고에 대한 데이터가 기록(INSERT)될 때마다 해당 상품에 대한 재고수량을 매번 수정(UPDATE)해야될때 * 트리거 종류 - SQL문의 실행시기에 따른 분류 > BEFORE TRIGGER : 내가 지정한 테이블에 이벤트가 발생되기 전에 트리거 실행 > AFTER TR..