Skip to content
Bible, Lee, Data

Bible, Lee, Data

Faith, software, data, and everyday life.

Engineering/DatabaseAll posts

Engineering/Database

[JDBC] Auth (인증 업무 구현)

🍁AuthAuthentication (인증)로그인(Sign in), 로그아웃(Sign out)인증은 현재 접속자가 해당 사이트의 구성원인지 확인하는 작업이다.해당 접속자가 구성원인지를 확인하는 작업(아이디, 암호)을 한다. 그리고 구성원인지 아닌지에 대한 인증 티켓을 발급하여 표시를 한다.쉽게 말하자면 놀이동산을 자유롭게 들어갈 수 있는 팔찌가 있다면, 인증은 팔찌를 얻기까지의 과정이라고 할 수 있다. Authorization (허가)허가는 특정 행동을 할 때 권한이 있는지 확인하는 작업이다. 웹 보안세션 기반 인증쿠키 기반 인증웹 보안은 인증과 허가를 합친 것을 의미한다.파일AuthTest > script.sqlWEB-INF > lib > ojdbc6.jarcom.test.auth > DBUtil.j..

Engineering/Database

[JDBC] Todo List (CRUD 업무 구현)

🍁Todo List1. 주제Todo List2. 업무할일 쓰기할일 보기(목록)할일 수정하기할일 삭제하기3. DBTodo (script.sql)4. 화면(+페이지)할일 보기(목록) 페이지 (webapp > list.jsp)할일 쓰기 페이지 (webapp > add.jsp, addok.jsp)할일 수정 페이지 (webapp > editok.jsp)할일 삭제 페이지 (webapp > delok.jsp)템플릿 역할 (webapp > template.jsp)5. 리소스조각 페이지 (webapp > inc > header.jsp, asset.jsp)jQuery (webapp > js > jquery-1.12.js)6. WEB-INFlib > ojdb6.jar 복사구현 페이지할일 보기(목록) 페이지, 할일 쓰기 페..

Engineering/Database

[JDBC] Statement: PreparedStatement, CallableStatement

🍁PreparedStatementStatement와 PreparedStatement 차이Statement는 정적 SQL을 만들 때 사용하며, PreparedStatement는 동적 SQL를 만들 때 사용한다.매개변수가 없으면 정적 쿼리, 매개변수가 있으면 동적 쿼리를 의미한다. 정적 쿼리와 동적 쿼리정적 SQLString sql = "INSERT INTO tblAddress (seq, name, age, gender, address, regdate) VALUES (seqAddress.nextVal, 'Sopia', 21, 'f', '서울시 강남구 대치동', default)";String sql = "INSERT INTO tblAddress (seq, name, age, gender, address, r..

Engineering/Database

[JDBC] Statement: Statement 기본형 (정적 SQL)

🍁JDBC 라이브러리 클래스1. ConnectionDB에 연결 또는 종료한다. 2. Statement모든 SQL을 실행하는 역할을 한다. 3. ResultSet데이터베이스로부터 쿼리의 결과를 저장하고 조회한다.ResultSet 클래스는 Interator, 향상된 for문, 스트림, 커서와 비슷하다. Statement의 종류1. Statement기본형이다.매개 변수 처리가 번거롭다.안정성과 가독성이 낮다. 2. PreparedStatement개량형이다.매개 변수 처리에 특화되어 있다.안정성과 가독성이 높다.기존 Statement에 매개변수 처리 과정을 손쉽고 안전하게 할 수 있게 만든 게 PreparedStatement이다. 3. CallableStatement개량형이다.프로시저 전용이다. 🍁State..

Engineering/Database

[JDBC] DB 접속 및 오류 해결

🍁DB 접속참조 변수 생성 및 importConnection conn = null;Connection으로 conn 참조 변수를 하나 만들고, java.sql 인터페이스로 import를 한다.이제 연결 문자열(Connection String)을 만들어야 한다. 연결 문자열 (Connection String)DB 서버 접속호스트명: 서버 IP or 도메인 주소 (localhost)포트번호: 1521SID: xe드라이버: thin사용자: hr암호: java1234String url = "jdbc:oracle:thin:@localhost:1521:xe";String id = "hr";String pw = "java1234";연결 문자열에는 DB 서버에 접속하는 모든 정보가 들어간다.이렇게 하면 DBeaver에..

Engineering/Database

[JDBC] JDBC란? (Java Database Connectivity)

🍁JDBCJDBC는 자바 프로그램과 데이터베이스(오라클)를 연결시켜 주는 자바 API(응용 프로그래밍 인터페이스)이다.JDBC는 데이터베이스에서 자료를 쿼리를 만들거나 업데이트하는 방법을 제공한다. 퍼시스턴스 계층JDBCSpring JDBCMyBatisJPAJDBC를 중간 계층이라고 하며, 정확하게는 퍼시스턴스persistence 계층(영구 계층)이라고 한다.퍼시스턴트 계층은 JDBC에만 있는 게 아니라, Spring, MyBatis 등에도 있다. JDBC 환경 설정*.jar 설치데이터베이스 제조사에서 배포하므로, 오라클을 사용한다면 오라클 홈페이지를 찾아가면 된다.이번에는 다른 방법으로 Oracle 폴더 경로에 있는 jar 파일을 가져와 보려고 한다. ojdbc6.jar 파일을 lib 폴더로 이동C:..

Engineering/Database

[Oracle] DB백업 덤프(dump) 파일 내보내기

💡dump 파일 생성 계정 생성 및 권한 부여 CREATE USER id IDENTIFIED BY pw; GRANT CONNECT, RESOURCE, DBA TO id; id와 pw를 설정하여 새로운 계정을 생성한다. 요구사항 백업 생성한 테이블 4개와 시퀀스를 backup_자신이름_전화번호뒷자리.dmp 로 백업하세요. 백업한 파일은 .sql과 함께 제출한다. CMD 계정이 가지고 있는 모든 것들을 하나의 파일로 내보내기를 할 수 있다. 그래서 계정을 새로 하나 만든 것이다. EXP id/pw FILE=backup.dmp CMD에 위 코드를 입력하면 dump 파일이 CMD를 실행한 폴더(Oracle 폴더) 내에 생성된다. 더보기

Engineering/Database

[Oracle] 인덱스 (Index)

🏷️인덱스 인덱스(Index)는 검색을 빠른 속도로 하기 위해 사용하는 도구이다. SQL 명령 처리 속도를 빠르게 하기 위해서 특정 컬럼에 대해 생성된다. 📚인덱스는 책의 목차와 다르다! 책의 목차는 페이지 순서대로 어떤 파트인지를 정리해 둔 것이고 인덱스와는 차이가 있다. 인덱스는 페이지가 아닌 영어나 한글(어떤 특정 단어)을 순서대로 정렬해 준다. 인덱스는 특정 단어를 검색해서 어디에 있는지를 찾아내는 검색 도구라고 할 수 있다. 때문에 인덱스는 사람들이 검색할만한 단어들을 모두 찾아놓는다. 다른 사람들이 특정 단어를 많이 검색할 거 같다면 인덱스는 그게 몇 번째 페이지(위치)에 있는지를 미리 정리해 둔다. 데이터베이스의 정렬 상태 아쉽게도 데이터베이스는 테이블 내의 레코드 순서가 사용자가 원하는 정..