Dev.Study 72

[JavaScript] 내장함수 , 배열, JSON

내장함수 : 자주 사용되는 함수를 레퍼런스 없이 사용하게 만든 것 eval("형식을 갖는 문자열") : Object 반환(JSON) JavaScript Object Notation --JSON 형식 var v = { name: value, age: value2 } v.name v.age var v2 = '{name:value, age: value}' 'name='+v2.name //undefined var v3 = eval("("+v2+")") 'name='+v2.name //valueParseInt, ParseFloat var c = '3.14'; var d = 300; 'c+d='+(c+d); // 3.14300 'c+d=..

[JavaScript] 자바스크립트, 자바와 차이점 부분 위주 정리

JavaScript 웹브라우저에서 실행되는 프로그램이다 HTML문서내에서 실행(html에 종속적이다,브라우저에서 실행된다!!) HTML문서(정적페이지) → JavaScript적용 (동적페이지) HTML문서를 통해 입력된 데이터를 얻어오고 데이터에 대한 유효성 검사를 할 때 사용. HTML문서에 대한 조작(태그,속성,스타일) 자바스크립트를 왜(어디서) 사용하는가? 문서 조작(태그와 속성) => 조작에 필요한 데이터가 외부에 존재한다면(현재HTML없을시) Ajax를 사용!! 유효성 검사(서버에게 데이터를 보내기 전에 검사) 자바의 경우 서버 스크립트 JVM에서 실행 자바스크립트의 경우 클라이언트(사용자, 브라우저) 스크립트 브라우저에서 실행 JavaScript 문법 자바스크립트 선언 위치 HTML문서내에 포..

[JDBC] Swing에서 중복아이디 체크하기 (PrepareStatement 사용)

중복확인 JButton 클릭시 -------View--------- public JButton bt_checkId; public JTextField tf_id; --------Model(DAO)---------- public boolean findExistID(String id) { connect(); try { String sql = "SELECT count(*) cnt FROM membership WHERE id=?"; stmt = conn.prepareStatement(sql); stmt.setString(1, id); rs = stmt.executeQuery(); if (rs.next()) { int cnt = rs.getInt("cnt"); if (cnt > 0) { return true; } ..

[JDBC] Prepared Statement 사용법 및 사용예제

Statement (java.sql.Statement) : executeQuery("DQL문"), excecuteUpdate("DML문")메소드를 실행하는 시점에 파라미터로 SQL문을 DB에 전달한다. 장점 : 사용된 SQL문 전체를 명확히 알 수 가 있어서 디버깅이 쉽다. 단점 : 조건값이 틀린 많은 수의 SQL문을 반복 실행하게 되는 경우, DB서버에서 모두 새롭게 PARSING되어야 하므로 부하가 생길수 있다. SQL Injection에 취약. //SQL injection 예) //데이터 전달: a' 1=1 -- SELECT count(*) FROM membership WHERE id = 'a' or 1=1 --' AND pass='1234'; PreparedStatement (java.sql.Pr..

[JDBC] Properties MVC 사용예제 (+Swing)

파일 구성 Control : Controller.java Model : PersonDTO.java , PersonDAO.java View : InputForm.java, MainView.java, UpForm.java Conn 폴더 : conn.properties MODEL 테이블 이름, 혹은 조인된 도메인명 오른쪽에 역할 명시 PersonDTO : 속성 정의, 자바빈즈 역할 public Person(int no, String name, int age, String job) { this.no = no; this.name = name; this.age = age; this.job = job; } PersonDAO : DB 관련된 일 전담 CRUD 작성 (CREATE, READ, UPDATE, DELETE)..

[JDBC] Properties 객체 사용방법(저장, 출력, 데이터얻기)

Properties : 속성데이터(문자열, text)를 담는 클래스 Properties pro = new Properties(); DAO : Data Access Object DB 접근을 위한 DB전용 객체 각 메소드에는 sql문 실행에 관련된 코드들로 구성 하는것이 가장 이상적 CRUD 작업실행하는 메소드를 정의 DTO : Data Transfer Object VO : Value Object 계층간 데이터교환을 위한 자바빈즈 VO(Value Object)라는 단어를 많이 사용 데이터 저장(입력) pro.setProperty(String key, String value); pro.setProperty("k1","길동"); pro.setProperty("k2","라임"); key: 저장 또는 검색을 위한 ..

[JDBC] JDBC 관련클래스, 프로그래밍 순서 (Connection, Statement, ResultSet)

JDBC 관련클래스 : java.sql 패키지 DriverManager : JVM에서 JDBC전체를 관리하는 클래스. Driver등록, Connection 연결작업 등 Driver : DB를 만드는 Vendor(Oracle, MS-SQL, MYSQL등)을 implements하여 자신들의 DB를 연결할 수 있는 class를 만드는 인터페이스 Connection : DB와 연결성을 갖는 인터페이스 Statement : SQL문을 실행하는 인터페이스 ResultSet : 조회된 결과 데이터를 갖는 인터페이스 JDBC 프로그래밍 제품군 선택 (Oracle, Mysql, MS-SQL 등) 연결객체 생성 (Connection) [필요요소] DB서버의 주소 포트번호(0~63353개.한피시 안에서 서비스 종류를 판별하..

[SQL/ORACLE] 트리거(Trigger) 형식 및 사용예제

트리거(Trigger) : 방아쇠를 당기는것. 사건이 발생했을 때 특정 영역 수행 이벤트 처리(~했을 때 수반되는 처리) 특정테이블에 이벤트(insert, delete, update)가 발생했을 시 다른테이블에 연관된 내용을 변경하도록 하는 일 트리거 형식 CREATE [OR REPLACE] TRIGGER 트리거명 (BEFORE | AFTER) (INSERT | DELETE | UPDATE) --이벤트(사건발생) ON 테이블명 --이벤트가 발생하는 테이블 [FOR EACH ROW] --실행될 문장 행에 각각 적용 [WHEN 조건식] BEGIN --이벤트 발생시 실행할 문장(주로 DML) => 이벤트 처리부 END; / 트리거 사용예제 CREATE OR REPLACE TRIGGER welcome AFTER..

Web develop/SQL 2019.06.16

[SQL/ORACLE] 패키지(Package) 선언, 실행방법 및 사용예제

패키지(Package) 동일한 프로시저명 또는 함수명을 구분 (NameSpace 개념) --------------패키지 선언------------------- CREATE OR REPLACE PACKAGE 패키지명 IS 정의될 저장프로시저와 저장함수 END; / --------------패키지 실행(body)------------- CREATE OR REPLACE PACKAGE BODY 패키지명 IS 저장프로시저와 저장삼후 정의 END; / --실행 EXEC[UTE] 패키지명.저장프로시저명; 패키지 사용예제 ----------------------패키지 선언------------------------------------- create or replace package encore is procedure..

Web develop/SQL 2019.06.16

[SQL/ORACLE] 커서 (CURSOR) 형식, FOR문에 사용하는 커서, ORA-01422 에러

CURSOR SELECT의 결과가 2개행 이상일 때 명시적으로 사용 2개 행 이상을 출력하는 SELECT문을 저장하는 변수 declare --변수선언, 커서정의 CURSOR 커서명 IS SELECT문장; begin OPEN 커서명; -- 커서 사용선언 FETCH 커서명 INTO 변수명 --커서 사용. 데이터 1행 인출 CLOSE 커서명; -- 커서 사용중지 end; / declare CURSOR cur IS SELECT deptno,dname,loc FROM dept; vdept dept%rowtype; -- 테이블을 구성하는 모든 컬럼 참조 begin OPEN cur; dbms_output.put_line('부서번호/부서명/위치'); LOOP FETCH cur INTO vdept; EXIT WHEN c..

Web develop/SQL 2019.06.16