본문 바로가기
Kosta DevOps 과정 280기/Java

데이터 베이스 프로그램

by 롯슈83 2024. 6. 4.
  • 데이터 베이스 먼저 설치(오라클 - 교육용)
  • 데이터 베이스(Database) <--데이터 쌓아놓은 더미
    • 프로그램 실행한 결과를 화면에 출력하면 컴퓨터 전원을 끄면 그 내용은 사라지게 된다. 실행결과를 영구적으로 저장하려면 파일에 기록할 수 있다. 그러나 파일은 다음과 같은 단점이 있다. 그 파일에 대한 이해관계에 있는 사람이 다수일 때 최신의 정보를 공유하기 어렵다(업데이트 공유 힘듬)
    • 이해 관계에 있는 다수의 사람들이 항상 최신의 정보를 공유하기 위해서는 데이터 베이스를 이용한다.
    • DataBase ManageMent System (DBMS) :  평범한 사람들이 데이터 베이스라고 할 때 이것을 지칭한다.
    • 공공 프로젝트인 경우에는 오라클을 많이 사용하며 그 외의 소규모는 MySQl 등을 사용하기도 한다.
  • DBMS 의 종류(관계형 데이터베이스) 
    • Oracle
    • MS sql<--Microsoft
    • My sql <-- Oracle이 먹어서 유료가 됨
    • MariaDB <- 무료!
    • ++NoSQL(관계형 X) 
      • 문서기반 NoSQL -> MongoDB
  • 설치 후 CLI에서
    • 명령프롬프트
      • sqlplus : 오라클에 접속하는 명령
      • 사용자 이름 물어봄 : system
      • 암호 : manager(설치 때 정했던 것)
    • -------sql 명령어 나오는 것--------
      • 오라클 사용자 계정을 만드는 데이터베이스 명령
      • create user 사용자이름 identified by 암호;(c##madang / madang)
      • 연결할 수 있는 권한, 리소스를 만들 수 잇는 권한, dba 권한을 부여
      • grant connect, resource, dba to 사용자 이름;

 

  • 실습 내용
    • 사용자한테 이름, 국어, 영어, 수학을 입력받아 데이터베이스에 저장하는 프로그램을 작성
      • 이렇게 하기 위해서 DB에 정보를 기록하기 위한 테이블을 만들어야 한다.
      • 테이블 만드는 명령어
        • create table  테이블 이름 (속성명 자료형, 속성명 자료형....);
          • 이름, 국어, 영어, 수학
          • create table student(name varchar2(20),  kor number, eng  number, math  number)
        • desc student; <-만든 테이블 확인
      • 테이블에 자료 추가하는 명령어
        • insert into 테이블명 values(값1, 값2, ...);
          • insert into student values('홍길동', 100, 100, 70);
          • 문자열 데이터는 홋따옴표로 묶어줘야 한다. 
      • 데이터를 조회하는 명령어
        • select (보고싶은 속성들 ,,,,) form 테이블명
        • select name form student
        • select * from 테이블 명(모든 속성 조회)
      • 데이터 반영하는 명령어
        • commit;
  • JDBC 프로그램 : 자바에서 데이터베이스에 연결하는 프로그램 Java DataBase Connect 프로그램
  • JDBC 연결 프로그래밍 절차
    1. DBMS 드라이버를 오라클 설치된 경로에서 찾아서 이클립스에 설정한다.
      C:\app\WD\product\21c\dbhomeXE\jdbc\lib 에 있는 ojdbc8 라이브러리를 추가한다.

    2. DBMS 드라이버를 메모리로 로드한다..(각 DBMS 마다 명령어가 다르므로)
      Class.forName("oracle.jdbc.driver.OracleDriver");

    3. DB서버에 연결한다. --> DB명령어를 실행하려고
      Connection conn = DriverManager.getConnection("DB서버의 url", "사용자 이름", "암호");

    4. 데이터베이스 명령어 실행 담당자를 통해서 객체를 생성한다.
      Statement stmt = conn.createStatement();

    5. 실행 담당자를 통해서 데이터베이스 명령어를 실행한다.
      int re = 

    6. 사용했던 자원을 닫아준다.
package com.kosta.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

/*
 자바에서 데이터베이스에 연결하는 프로그램
 Java DataBase Connect 프로그램
 ==> JDBC 프로그램
 */
public class insertStudent {
	
	public static void main(String[] args) {
		String sql = "insert into student values('이순신', 80, 90, 100)";
		Connection conn = null;
		Statement stmt = null;
		
		try {
			//1. JDBC 드라이버를 메모리로 로드한다.
			Class.forName("oracle.jdbc.driver.OracleDriver");
			
			//2. DB서버에 연결한다.
			//오라클 url 은 기본 형식이 존재
			String url = "jdbc:oracle:thin:@localhost:1521:XE";
			String username = "c##madang";
			String password = "madang";
			conn =  DriverManager.getConnection(url, username, password);
			
			//3.데이터베이스 명령어 실행 담당자를 통해서 객체를 생성한다.
			stmt = conn.createStatement();
			
			//4. 행 담당자를 통해서 데이터베이스 명령어를 실행한다.
			//성공적으로 명령을 수행한 갯수를 반환
			int re = stmt.executeUpdate(sql);
			
			if(re == 1) {
				System.out.println("레코드 추가 성공");
			}else {
				System.out.println("레코드 추가 실패");
			}
		} catch (Exception e) {
			System.out.println("예외발생 : "+e.getMessage());
		} finally {
			try {
				if(stmt != null) {
					stmt.close();
				}
				if(conn != null) {
					conn.close();		
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
}

 

'Kosta DevOps 과정 280기 > Java' 카테고리의 다른 글

데이터베이스 프로그램-3  (0) 2024.06.07
데이터 베이스 프로그램-2  (0) 2024.06.05
네트워크 프로그램  (0) 2024.06.04
File메소드  (0) 2024.06.04
GUI와 CUI  (0) 2024.05.30