JDBC 4

JDBC에서 레코드 가져오기, insert문으로 레코드 입력하기 + 트리거 개념+ 시퀀스 개념.+ statement 클래스의 DML에 따른 함수들. 2021-08-27

이젠 실질적으로 자바 프로그램으로 DB에 접근해서 데이터를 얻어와 보자. 1. 만약 내가 DB에 저장된 모든 데이터를 가지고 오고 싶다면 어떻게 해야 할까? 쉽다. rs.next의 특성을 이용하면 된다. rs.next는 서버의 결과집합을 가리키는 포인터가 EOF에 도달했을때, false를 반환한다. 이걸 이용해서 반복문을 돌리면 된다. public class program { static String url="jdbc:oracle:thin:@localhost:1521/xepdb1"; public static void main(String[] args) throws ClassNotFoundException, SQLException { // TODO Auto-generated method stub Strin..

Programming/JDBC 2021.08.27

JDBC Driver설치. JDBC 기본코드와 동작원리.2021-08-25

모든 DBMS를 만드는 회사들은 각 DBMS의 연결 인등 문장실행 결과패치를 할수있게 해 주는 client를 제공한다. SQL DEVELOPER 처럼 말이다. 그런데 우리가 일반 사용자들에게 만들어서 제공하는 UI는 이런 기능을 제공해 주지 않는다. 또한 ORACLE, My SQL , MS SQL 등 다양한 DBMS 를 프로그램이 지원하는데 각각의 종류에 맞는 클라이언트를 그때마다 바꿔 쓸수도 없는 노릇이다. 즉, 기존에 SQL DEVELOPER 같은 DBMS 종속적인 클라이언트 들이 해줬던 연결/인증,문장실행, 결과패치 등을 우리가 대신 해 줘야 한다는 것이다. 또한 여러 DBMS에 범용적으로 적용시킬수 있는 기능도 필요하다. 이런 역할을 각 DBMS마다 최적화된 JDBC Driver가 해준다. JDB..

Programming/JDBC 2021.08.25

JDBC 의 필요이유 다시정리 클라이언트와의 관계, DML 중 UPDATE 2021-06-18

우선 클라이언트와 서버의 관계를 명확하게 알 필요가 있다. SQL을 쓸수있는 사람은 DB Client를 쓴다. SQL을 쓸수없는 사람은 업무용 프로그램을 쓴다. 이 두 문장이 "백엔드" 와 "클라이언트" 의 탄생배경과 필요성을 함축해서 나타낸다고 생각한다. 대부분의 프로그래머가 아닌 일반 사람들(서비스의 유저들)은 업무용 프로그램을 쓴다. 그런데 업무용 프로그램을 클릭하면, 예를들면 회원정보 보기 버튼 등을 클릭하면, 컴퓨터가 자동으로 SQL구문을 만들어서 DBMS로 날리고, 해당 데이터를 가져온다. 이 연결과정을 "백엔드 개발자"가 만드는 것이다. 컴퓨터가 어떻게 SQL 구문을 만들어 줄까? 그 도구는 자바언어가 될 수 도있고, 자바스크립트가 될 수 있고, 파이썬이 될 수 있다. ORACLE은 SQL ..

Programming/SQL 2021.06.18

JDBC의 작동원리, 기본 코드. 2021-06-10

우선, JDBC는 자바에서 클라이언트로부터 받은 데이터의 요청(쿼리)를 인터페이스를 통해 표준화된 함수들로 Connection(연결), Statement(쿼리 문장실행), Resultset(결과패치) 등을 제공하는 템플릿이다. 왜 이런 JDBC가 필요하냐면, 사용자가 UI에서 어떤 정보를 클릭하면, 그 쿼리를 실질적인 DBMS(데이터 저장소)에 넘겨 줄 수 있다. 그런데 이 DBMS는 많은 종류가 있다. MySQL, ORACLE, RADIS 등... 이런 dbms의 종류에 함수의 이름이 각각 다를 것이고, 그렇다면, DBMS 를 바꿀때 마다, 그에 맞는 코드를 또 다시 짜야 할 것이다. 이런 애로사항을 방지하기위해 JDBC라는 자바에서 표준적으로 제공하는 라이브러리를 통해 쿼리를 작성하면, 각 DBMS에..

Programming/JDBC 2021.06.10