쉽게 풀어쓴 C 프로그래밊

Similar documents
Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

PowerPoint 프레젠테이션

FileMaker ODBC and JDBC Guide

FileMaker ODBC 및 JDBC 가이드

FileMaker 15 ODBC 및 JDBC 설명서

Spring Boot/JDBC JdbcTemplate/CRUD 예제

FileMaker ODBC and JDBC Guide

10.ppt

웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

歯JavaExceptionHandling.PDF

Microsoft PowerPoint - 04-UDP Programming.ppt

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

rmi_박준용_final.PDF

DBMS & SQL Server Installation Database Laboratory

17장

Microsoft PowerPoint - Java7.pptx

PowerPoint 프레젠테이션

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

Microsoft PowerPoint - 10Àå.ppt

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - aj-lecture5.ppt [호환 모드]

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

Microsoft PowerPoint - 03-TCP Programming.ppt

PowerPoint Presentation

빅데이터분산컴퓨팅-5-수정

MySQL-.. 1

개발문서 Oracle - Clob

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

Microsoft PowerPoint - 18-DataSource.ppt

신림프로그래머_클린코드.key

C++ Programming

Spring Data JPA Many To Many 양방향 관계 예제

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

JDBC 소개및설치 Database Laboratory

Cluster management software

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공

JAVA PROGRAMMING 실습 09. 예외처리

PowerPoint Presentation

- 다음은 Statement 객체를사용해서삽입 (insert) 작업의예 String sql = "insert into member(code, name, id, pwd, age) values ("; int id = 10; sql = sql + id +, ;// 항목사이에

Network Programming

제11장 프로세스와 쓰레드

PowerPoint Presentation

JUNIT 실습및발표

준비사항 } 실습조건 } MS-SQL Server 에연결가능한컴퓨터 } 실습용서버혹은별도의 MS-SQL 서버 } Northwind 데이터베이스 } MS-SQL 2000 에제공되는예제데이터베이스 } MS-SQL 2008 에는 Northwind 가기본으로제공되지않기때문에실

PowerPoint Presentation

JAVA PROGRAMMING 실습 08.다형성

5장 SQL 언어 Part II

PowerPoint 프레젠테이션

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

문서 템플릿

chap 5: Trees

PowerPoint 프레젠테이션

PowerPoint Presentation

자바-11장N'1-502

NoSQL

Analyze Connection Failover Options.ppt

12-file.key

슬라이드 1

PowerPoint 프레젠테이션

4장.문장

gnu-lee-oop-kor-lec06-3-chap7

IBM blue-and-white template

JVM 메모리구조

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

쉽게 풀어쓴 C 프로그래밍

비긴쿡-자바 00앞부속

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint Presentation

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

윈도우시스템프로그래밍

쉽게 풀어쓴 C 프로그래밍

Discrete Mathematics

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

J2EE Concepts

Spring Boot

Microsoft PowerPoint MySQL 연동.ppt

Microsoft PowerPoint - RMI.ppt

PowerPoint Presentation

쉽게

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

윈도우시스템프로그래밍

PowerPoint 프레젠테이션

JMF2_심빈구.PDF

PowerPoint 프레젠테이션

Chap12

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

PowerPoint Presentation

Transcription:

Power Java 제 27 장데이터베이스 프로그래밍

이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다.

자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

데이터베이스프로그램개발절차 1 DBMS(DataBase Management System) 를설치 2 자신이설치한 DBMS 에필요한 JDBC 드라이버를설치한다. 3 JDBC 가제공하는기능을이용하여데이터베이스응용프로그램을개발한다. JDBC 를통하여데이터베이스에연결되면그다음에는 SQL 명령어를데이터베이스에전달하면됩니다.

데이터베이스란? 관계형데이터베이스 (database) 는데이터를여러개의테이블에나누어서저장한다. 가장많이사용되는 DBMS 오라클, 마이크로소프트의 SQL Server, 사이베이스, MySQL

테이블

MySQL MySQL 은 www.mysql.com 에서다운로드 무료 설치프로그램제공

SQL 이란? 관계형데이터베이스에서사용하기위하여설계된언어

MySQL 에서 SQL 실행하기 MySQL 은다음과같은명령어행클라이언트를가지고있다.

데이터베이스생성하기 기존의데이터베이스가있으면삭제 데이터베이스생성 데이터베이스사용 데이블생성

레코드추가하기 레코드삽입

레코드검색하기 레코드선택

검색시조건지정 선택조건지정

정렬하려면 정렬지정

레코드수정하기 레코드수정명령어

레코드삭제하기 레코드삭제명령어

결과집합과커서 쿼리의조건을만족하는레코드들의집합이결과집합 (result set) 이다. 커서 (cursor) 는결과집합의레코드들을포함하고있는파일에대한포인터 레코드........................ 커서 결과집합

중간점검문제 1. 영화를저장할수있는테이블을 SQL 을사용하여정의하여보라. 2. books 테이블에서가격이 30000 원이상이고 2005 년이후에출간된책을검색하는 SQL 문장을작성하여보라.

JDBC 드라이버설치 1. www.mysql.com/products/connector 로부터드라이버를다운로드받아서압축을푼다. 2. 다음은자바가상기계가이드라이버파일을찾을수있도록하여야한다. 클래스경로를나타내는환경변수인 CLASSPATH 를변경또는압축된아카이브파일을 jre/lib/ext 디렉토리에복사

드라이버클래스적재 try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { System.out.println(" 드라이버를찾을수업습니다 ); } 지정된이름의클래스를찾아서메모리로적재한다.

데이터베이스연결 String url = jdbc:mysql://localhost/book_db ; String user = root ; String password = password ; con = DriverManager.getConnection(url, user, password); 사용자아이디와패스워드를사용하여데이터베이스에연결.

import java.sql.*; public class ConnectDatabase { 데이터베이스연결예제 public static Connection makeconnection() { } String url = "jdbc:mysql://localhost/book_db"; String id = "root"; String password = "password"; Connection con = null; try { Class.forName("com.mysql.jdbc.Driver"); System.out.println(" 드라이버적재성공 "); con = DriverManager.getConnection(url, id, password); System.out.println(" 데이터베이스연결성공 "); } catch (ClassNotFoundException e) { System.out.println(" 드라이버를찾을수없습니다."); } catch (SQLException e) { } System.out.println(" 연결에실패하였습니다."); return con;

데이터베이스연결예제 public static void main(string arg[]) throws SQLException { Connection con = makeconnection(); } 드라이버적재성공데이터베이스연결성공

SQL 문장수행

SQL 문장수행 Statement s = con.createstatement(); String select = SELECT * FROM books ORDER BY book_id ; ResultSet rows = s.executequery(select); // 문장객체생성 // SQL 문장생성 // SQL 문장실행 SQL 문장을실행하고결과집합을반환한다.

데이터베이스연결예제 import java.sql.*; public class SQLSelectTest { } public static Connection makeconnection() {... // 앞의코드와동일 } public static void main(string arg[]) throws SQLException { } Connection con = makeconnection(); Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select * FROM books"); while (rs.next()) { } int id = rs.getint("book_id"); String title = rs.getstring("title"); System.out.println(id + " " + title); 결과집합에서다음레코드로이동한다. 현재레코드에서필드의값을가져온다.

실행결과 드라이버적재성공데이터베이스연결성공 1 Operating System Concepts 2 Head First PHP and MYSQL 3 C Programming Language 4 Head First SQL

레코드수정, 삭제 import java.sql.*; public class SQLInsertTest { public static Connection makeconnection() {...// 전과동일 } public static void main(string arg[]) { } addbook("artificial Intellegence", "Addison Wesley", "2002", 35000);

레코드수정, 삭제 } private static void addbook(string title, String publisher, String year, } int price) { Connection con = makeconnection(); try { Statement stmt = con.createstatement(); String s = "INSERT INTO books (title, publisher, year, price) VALUES "; s += "('" + title + "','" + publisher + "','" + year + "','" + price + "')"; System.out.println(s); int i = stmt.executeupdate(s); if (i == 1) System.out.println(" 레코드추가성공 "); else System.out.println(" 레코드추가실패 "); } catch (SQLException e) { } System.out.println(e.getMessage()); System.exit(0); 레코드를수정할때사용.

실행결과 드라이버적재성공데이터베이스연결성공 INSERT INTO books (title, publisher, year, price) VALUES ('Artificial Intellegence','Addison Wesley','2002','35000') 레코드추가성공

중간점검문제 1. 레코드의모든필드를출력하도록 SQLSelectTest.java 를변경하여보라. 2. 사용자로부터필드값을받아서새로운레코드를생성하도록 SQLInsertTest.java 를변경하여보라.

Q & A