Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

JAVA 웹 프로그래밍 8주차 정리 (DBMS, JDBC) 본문

2-2/JAVA 웹 프로그래밍 실무

JAVA 웹 프로그래밍 8주차 정리 (DBMS, JDBC)

김브래 2023. 10. 25. 21:05

DBMS & JDBC




html -> jsp


파일 확장자 변경

*.html -> *.jsp
intellij IDEA에서 수정하는 경우 연관된 코드 리팩토링

파일에 지시자 추가

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
 

참고) 리펙터링 (Refactoring)

정의

- 소프트웨어 공학에서 '결과의 변경 없이 코드의 구조를 재조정함'을 의미함
 

목표

- 사용자가 보는 외부 화면은 그대로 두면서 내부 논리나 구조를 바꾸고 개선하는 행위. 주로 가독성을 높이고

유지보수를 편하게 함

 

- 버그를 없애거나 새로운 기능을 추가하는 행위는 아님

 

- 소프트웨어의 설계, 구조 및 구현을 개선하는 동시에 소프트웨어의 기능을 보존하는 것

 

- 코드의 가독성을 향상시키고 복잡성을 감소시키는 효과를 가지며, 이러한 이점은 소스 코드의 유지 보수성을 개선하고 확장성을 개선하기 위해 더 단순하고, 깔끔하거나, 표현력이 뛰어난 내부 아키텍처 또는 객체 모델을 만들 수 있게 함

 

- 소프트웨어 엔지니어는 더 빠르게 수행되거나 더 적은 메모리를 사용하는 프로그램을 작성해야 하는 지속적인 과제에 직면해 있기에 성능 향상

 

JSTL(Jakarta Standard Tag Library)


JDBC (Java DataBase Connectivity) 개요


정의

- Java 기반 애플리케이션의 데이터를 데이터베이스에 저장 및 업데이트하거나,

데이터베이스에 저장된 데이터를 Java에서 사용할 수 있도록 하는 자바 API

 

- 데이터베이스를 접근하는 방법을 정의한 자바 언어 API(Application Programming Interface)

연관 : DBMS 제품 간의 상호 연동성을 위한 기술

SQL(Structured Query Language)

- RDBMS에 포함된 데이터를 조작하기 위해 설계된 특수 목적 프로그래밍 언어

 

ODBC (Open Database Connectivity)

- MS에서 만든 DBMS 접근을 위한 소프트웨어 표준 규격

 

JDBC (Java Database Connectivity)

- 자바 기반 데이터 접근을 위한 기술


Statement Interface


정의

- SQL 문장을 실행하고, 생성된 결과를 반환하는 객체를 구현하기 위한 인터페이스

 

특징

- 문자열 형식의 SQL 문장을 매개변수로 사용하여 동적으로 SQL 문장을 생성할 수 있으며

원하는 SQL 문장을 직접 사용하기 때문에 직관적이고, 쉽다.

 

단점

- 잘못 작성된 SQL문의 오류를 런타임에만 알 수 있다

- 매번 SQL문을 실행할 때마다 구문을 해석해야 하는 오버헤드가 발생한다.

- 작성된 SQL을 재사용할 수 없다.


PreparedStatement Interface


정의

- SQL 문장을 실행하고, 생성된 결과를 반환하는 객체를 구현하기 위한 인터페이스

 

특징

- 반복적으로 SQL문을 실행할 때에도 미리 컴파일된(pre-compiled) SQL문을 사용하여 향상된 성능을 제공한다.

- 작성된 SQL을 재사용하기 편리하다.

- StatementqueryString 작성할 때 단일 따옴표(') 문제를 해결할 수 있다.


ResultSet


정의

질의문을 실행하여 생성된 데이터베이스 질의 결과의 집합을 표현하는 테이블 형식의 데이터를 효과적으로

다루기 위한 인터페이스

 

특징

기본적으로 데이터의 현재 행을 가리키는 커서(cursor)next() 메소드로 처음에서 마지막 방향으로 다음 행을 접근

- 동적 커서를 활용한 first, last, previous 등 다양한 접근도 가능함

 

열번호(ColumnIndex)1부터 시작하고,
열이름(ColumnLabel)은 대소문자를 구분하지 않음


DBMSJDBC 드라이버 클래스 명과 URL