도담도담

이클립스 - 기초활용 format 정리 본문

IT 공부/KH 정보교육원

이클립스 - 기초활용 format 정리

Zinisang 2021. 6. 5. 22:05

Format 정리

 

콘솔에 값을 여러번 입력하기 위한 세팅

	Scanner sc=new Scanner(System.in);

	System.out.println("첫번째 입력")
	String input1=scan.next();

	System.out.println("두번째 입력")
	String input2=scan.next();

	scan.close();

 

예외처리 try catch 세팅

  • 기능이 많아질 수록 오류가 발생할 확률은 높아지는데, 자연스럽게 오류를 처리하기 위해 사용.
  • 프로그래머가 생각하는 범위를 벗어나는 문제가 생겼을 경우에 이를 처리하기 위한 방법.
		try {

		}catch(IOException e) {
			System.out.println("파일쓰기오류: "+e.getMessage());	
		}

 

DB연동 Class (외우기)

package com.lsj.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

public class JdbcClass {

	private Connection conn = null;
	private Statement stmt = null;
	private PreparedStatement pstmt = null;
	private ResultSet rs = null;

	private final String URL = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
	private final String DRIVER = "oracle.jdbc.driver.OracleDriver";
	private final String USER = "lsj";
	private final String PWD = "ad789789";

	public JdbcClass() {
	}

	public void connectDB() {
		try {
			Class.forName(this.DRIVER);

			this.conn = DriverManager.getConnection(this.URL, this.USER, this.PWD);
			System.out.println(this.USER + " 로 접속되었습니다..");

		} catch (ClassNotFoundException e) {
			System.err.println("드라이버파일 에러: " + e.getMessage());
		} catch (SQLException e) {
			System.err.println("DB 연결 에러: " + e.getMessage());
		}
	}// connectDB END

	public void insertDB() {
		String query_insert = "insert into chicago_tb (rank, cafe, menu, price, addr, img) values (?,?,?,?,?,?)";
			//띄어쓰기 랑 ? 갯수  등 정확한 위치가 매치되어야한다!!! 물음표는 1번부터 시작, 물음표하면 무조건 prepared, 
			//prepared는 객체 들어갈 떄 쿼리들어가고 실행은 executeUpdate 로!!! 무조건!!
			//state 는 create된 다음에 쿼리가 들어간다!
		ArrayList<CafeClass> cafes = DataClass.cafes;

		try {
			this.pstmt = this.conn.prepareStatement(query_insert);

			for (int idx = 0; idx < cafes.size(); idx++) {
				this.pstmt.setInt(1, cafes.get(idx).getRank());
				this.pstmt.setString(2, cafes.get(idx).getCafe());
				this.pstmt.setString(3, cafes.get(idx).getMenu());
				this.pstmt.setFloat(4, cafes.get(idx).getPrice());
				this.pstmt.setString(5, cafes.get(idx).getAddr());
				this.pstmt.setString(6, cafes.get(idx).getImg());
				
				this.pstmt.executeUpdate();		//쿼리 실행 해달라고 하는거 (for문 내에 있다!!)
				System.out.println("데이터삽입 성공: "+idx); //실시간으로 어떤게 들어갔는지 확인하는용도
				
			}
			
		} catch (SQLException e) {
			System.err.println("insert 에러: " + e.getMessage());
		}

	}

	public int countDB() {
		String query_count="select count(*) from chicago_tb";
		
		try {
			this.stmt=this.conn.createStatement();
			this.rs=this.stmt.executeQuery(query_count);	//select 결과값은 resultset이 받는다!!!!!!!!!!!!
			
			this.rs.next();
			return this.rs.getInt(1);
			
			
		}catch(SQLException e) {
			System.out.println("카운트 에러: "+e.getMessage());
		}
		
		return 0;	//문제가 발생하면 0을return시켜준다는건데, 그러면 catch문 안으로 들어가도 되나??
		
	}

	public ResultSet selectDB() {
		String query_select="select * from chicago_tb";
		try {

			this.stmt=this.conn.createStatement();
			this.rs=stmt.executeQuery(query_select);
			
			return this.rs;
			
		}catch(SQLException e) {
			System.out.println("select 에러: "+e.getMessage());
		}
		
		return null;
	}

	public void updateDB() {
		String query_update="update ? from chicago_tb";
		try {
			this.pstmt= this.conn.prepareStatement(query_update);
			
			
			
		}catch(SQLException e) {
			System.out.println("업데이트 에러: "+e.getMessage());
		}
	}
	
	public void deleteDB() {
		String query_delete="delete * from chicago_tb";
		try {
			this. stmt=this.conn.createStatement();
			this.rs= this.stmt.executeQuery(query_delete);
			
			
		}catch(SQLException e) {
			System.out.println("삭제 에러: "+e.getMessage());
		}
		
	}
	
	
	
	
}

 

JDBC 사용순서

<%! 
	Connection conn = null;
	PreparedStatement pstmt = null;
	String url = "jdbc:oracle:thin:@localhost:1521:XE";
	String uid = "forward_kkh";
	String pass = "1234";
	String sql = "insert into member_tbl values (member_seq.nextval, ?, ?, ?, ?, ?, ?)"; 
%>


//(1 단계) JDBC 드라이버 로드
Class.forName("oracle.jdbc.driver.OracleDriver");

//(2 단계) 데이터베이스 연결 객체인 Connection 생성
conn = DriverManager.getConnection(url, uid, pass);

//(3 단계) PreparedStatement 또는 Statement 객체 생성하기
pstmt = conn.prepareStatement(sql);

//(4 단계) 바인딩 변수를 채운다.
pstmt.setString(1, name);
pstmt.setString(2, userid);
pstmt.setString(3, pwd);
pstmt.setString(4, email);
pstmt.setString(5, phone);
pstmt.setInt(6, Integer.parseInt(admin));

//(5단계) SQL문을 실행하여 결과 처리
pstmt.executeUpdate();
			
}catch (ClassNotFoundException e) {
	e.printStackTrace();
}catch (SQLException e) {
	e.printStackTrace();
} finally {
	//(6단계) 사용한 리소스 해제
	try {
		if (pstmt != null)
			pstmt.close();
		if (conn != null)
			conn.close();
	} catch (Exception e) {
		e.printStackTrace();
	}
}//finally의 끝

'IT 공부 > KH 정보교육원' 카테고리의 다른 글

Query문 정리 #1  (0) 2021.06.07
일반 이클립스 프로젝트 참고사항  (0) 2021.06.06
세미프로젝트 완성  (0) 2021.06.04
세미프로젝트 css 설정 및 디테일 내용  (0) 2021.06.04
jQuery 기본 #2 (참고)  (0) 2021.06.03
Comments