Mariadb JDBC PROGRAMMING

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
JDBC.
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
DB 프로그래밍 학기.
DB 프로그래밍 학기.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
Database Laboratory, Hong Ik University
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
제 10 장 JDBC 프로그래밍 학기 인터넷비즈니스과 강 환수 교수.
소프트웨어시스템설계(6주) 데이터베이스 연동
주)INVENTORNICS 노창배 소프트웨어 김 경 순
Kim heesang JDBC PROGRAMMING Kim heesang
JSP Programming with a Workbook
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
JDBC 프로그래밍 이수지 이동주 1.
MySQL 및 Workbench 설치 데이터 베이스.
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
5장 Mysql 데이터베이스 한빛미디어(주).
12장. JDBC 프로그래밍.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
컴퓨터응용과학부 Java Enterprize(DB) 제 15 주
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
8 데이터베이스 사용하기.
12 데이터베이스 사용하기.
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
KHS JDBC Programming 4 KHS
21강. 스프링JDBC JDBC를 이용한 반복코드 줄이기 Spring빈을 이용한 코드 간소화
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
5장 Mysql 데이터베이스 한빛미디어(주).
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
You YoungSEok Oracle 설치 You YoungSEok
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
웹 어플리케이션 보안 2016년 2학기 3. Mongo db.
자바 5.0 프로그래밍.
CHAP 13. 방명록 만들기 실습.
JDBC Lecture 004 By MINIO.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
RMI Messenger 지도 : 김정배 교수님 조봉진.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Smart Workplace 개발자 가이드
Lesson 2. 기본 데이터형.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
ADO.NET (SqlConnection, SqlCommand)
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
기말 프로젝트 계획 MVC 패턴 기반 웹 애플리케이션 개발 프로젝트명 : 팀명 : 팀원 :
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
Mariadb JDBC PROGRAMMING2
CHAP 21. 전화, SMS, 주소록.
문성우 SQL 실습 Part Ⅰ 문성우.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
JSP Programming with a Workbook
서적DB개발 과제 Page 2의 ERD를 통해 구축할 서적 DB의 구조를 파악한다. (4개의 개체에 대해 확인함)
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
maria db JDBC PROGRAMMING 5
CHAP 15. 데이터 스토리지.
 6장. SQL 쿼리.
프로젝트 결과 발표 네트워크정보통신과 강동성 이현미.
JAVA 프로그래밍 16장 JNLP.
Ⅰ. 데이터베이스 정의 Ⅱ. MS SQL 서버 Ⅲ. 데이터베이스 인터페이스
Presentation transcript:

Mariadb JDBC PROGRAMMING 장종원 phobos90@naver.COM

실습자료 제출 phobos90@naver.com 기한(매주) – 다음주 실습시간 전까지 제목 – [DBP][학번][이름]_[챕터] ex) [DBP]201816040장종원_2장 실습자료 및 과제 제출

Java DataBase Connectivity 자바 프로그램 내에서 DB 프로그래밍을 하기 위한 API JDBC 란? Java DataBase Connectivity 자바 프로그램 내에서 DB 프로그래밍을 하기 위한 API 자바로 작성된 프로그램을 일반 데이터베이스에 연결하기 위한 응용프로그램 인터페이스 규격 DBMS에 넘겨질 SQL문을 각 시스템(Oracle, Mysql, MariaDB,… ) 에 맞도록 바꾸어 준다.

JDBC 드라이버 : 각 DBMS에 맞는 클라이언트 JDBC 프로그래밍 흐름 DB에 데이터 읽기/쓰기(SQL문) DB 연결 종료

MariaDB에서는 JDBC Driver를 지원한다. DBMS와 통신을 담당하는 자바 클래스 MariaDB에서는 JDBC Driver를 지원한다. mariadb-java-client-2.4.0.jar Eclipse https://www.eclipse.org/downloads/eclipse-packages/

Eclipse Project Explorer – 우클릭 – New – Project Java Project – Project name 입력 – Finish

Hello, World Java의 public class명은 File명과 동일해야 함 Java응용 프로그램을 실행하기 위해서는 main()함수가 있어야 하며, main()함수가 프로그램의 시작점인 것입니다.

Eclipse에서 MariaDB JDBC를 추가하는 방법 MariaDB JDBC Driver Eclipse에서 MariaDB JDBC를 추가하는 방법 Project – 우클릭 – Properties Java Build Path – Libraries Add External JARs – MariaDB JDBC Driver(경로) – Apply and Close

Driver Loading & Connection MariaDB JDBC Driver의 클래스 이름은 org.mariadb.jdbc.Driver Driver를 로딩할 때, 이 클래스 이름을 사용한다. Class.forName 메소드를 이용하여 driver를 로딩하는 코드이다. Class.forName(“org.mariadb.jdbc.Driver”);

Driver Loading & Connection JDBC에서 Connection 객체를 얻을 때 DriverManager.getConnection 메소드를 호출 String타입의 url을 인자로 넣어줘야 하는데, MariaDB Connection Url은 다음과 같다. 예제) jdbc:mariadb://IP_ADRESS:PORT/DBNAME jdbc:mariadb://127.0.0.1:3306/MyDB

Connection 객체 Statement 객체 ResultSet 객체 SQL 질의 하기 SQL 문장의 실행 전에 우선 Connection 객체 필요 Connection 객체는 연결된 커넥션을 나타냄 Statement 객체 Connection 객체에 의해 프로그램에 구현되는 일종의 메소드 집합을 정의 Statement 인터페이스를 구현한 객체 Connection 클래스의 createStatement() 호출함으로써 얻음 ResultSet 객체 Select 질의의 경우 결과물로 ResultSet을 반환 ResultSet은 질의에 결과를 담고 있음 ResultSet 객체는 ‘Cursor’를 가지며, Cursor를 이용하여 특정 행에 대한 참조를 조작할 수 있음 Cursor는 초기에 첫번째 행을 가르키며, next()를 이용하여 다음위치로 옮길 수 있음 Next()는 행에따라 true/false를 반환하며 while로 제어한다.

Driver Loading & Connection Database username Database password Database name

Statement 객체 ResultSet 객체 Statement & ResultSet JDBC를 이용하여 SQL문을 실행하기 위해서는 Statement객체를 생성해야 함 Statement stmt = connection.createStatment(); stmt.execute(); stmt.executeQuery(); stmt.executeUpdate(); stmt.close(); … ResultSet 객체 Statement객체에서 받은 결과를 처리하기 위한 객체 ResultSet rs = stmt.excuteQuery(“SELECT * FROM tbl_book”); rs.next(); rs.getString(int n); rs.close();

자원의 반납 Connection, Statement, ResultSet 객체의 사용이 끝나면 명시적으로 close()를 호출하여 해당 자원을 반납해야 한다. 만약 객체(Connection, Statement, ResultSet)가 자원을 반납하 지 않고 계속 heap메모리에 남아있게 된다면, DB서버는 해당 SQL문에 해당하는 결과를 계속 저장하고 있어야 하므로 DB 서버 의 불필요한 메모리가 증가한다.

SELECT

INSERT

UPDATE

DELETE

실습 2-1 기존에 사용하던 테이블에 JDBC 프로그램을 이용하여 SELECT, INSERT, UPDATE, DELETE SQL을 사용하여 아래와 같은 결과를 만드세요. INSERT 후 SELECT 로 결과 확인 (데이터 INSERT 및 SELECT) Book 테이블에 bookid 101, 102, 103으로 임의의 데이터 삽입 및 SELECT 결과 UPDATE 후 SELECT 로 결과 확인 (데이터 UPDATE 및 SELECT) 위의 101, 102, 103에 대하여 UPDATE 및 SELECT 결과 DELETE (INSERT 데이터 삭제) 위의 101, 102, 103에 대하여 DELETE 및 SELECT 결과

실습 2-2 JDBC 프로그래밍을 이용하여 책이름, 주문자 이름, 주문 날짜, 실제 판매금액 (saleprice), 출판사, 기본 상품 가격(price)을 보여주는 테이블을 만들고 주문자 이름이 ‘장미란’ 데이터를 조회하시오. 부속질의와 JOIN을 활용

10개, 50개 정도의 data를 insert하는 데는 시간이 얼마 걸리지 않다. 생각해보기 100만 건이 넘는 data를 insert한다면 얼마나 걸릴까요? 10개, 50개 정도의 data를 insert하는 데는 시간이 얼마 걸리지 않다. 하지만 데이터가 100만개가 넘는 BIG DATA라면 어떨까? I/O 비용발생

그래서 나온 대책이 multi row를 Insert하는 방법 4가지! One Transaction 처리 생각해보기 100만 건이 넘는 data를 insert한다면 얼마나 걸릴까요? 그래서 나온 대책이 multi row를 Insert하는 방법 4가지! One Transaction 처리 Insert ~ Select Bulk Insert LOAD DATA INFILE

One Transaction 처리 Insert ~ Select Multi row Insert 하나의 트랜잭션으로 묶어서 처리하는 방식 프로그래밍 언어에서 batch processing(일괄처리)하는 것과 같음 동일 세션을 사용하기에 조금의 성능적 이점 Insert ~ Select Select 쿼리를 통해서 여러 row를 한번에 insert하는 방법 Select 되는 대상을 고정시켜야 하기 때문에 READ_LOCK이 필요 성능적으로는 One Transaction 보다 빠르다

Bulk Insert LOAD DATA INFILE Multi row Insert multi values를 통해 Insert하는 방식 위의 경우 3개의 row가 하나의 transaction에서 처리가 된다 3개 중 하나라도 오류가 있을 시 rollback(모두 취소)된다 성능과 사용성 측면에서 가장 좋다 LOAD DATA INFILE 데이터 파일을 로딩하여 테이블을 생성하면서 Insert하는 방식 웹 어플리케이션에서 하는 것을 권장하지 않음