Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 토토이크 떠돌이상인
- IT용어
- 작은화면
- 슈샤이어 떠돌이상인
- 루테란 떠돌이상인
- 파푸니카 떠돌이상인
- https
- 한글
- 이름바꾸기
- 베른 떠돌이상인
- PIP모드
- SSL
- 애니츠 떠돌이상인
- 욘 떠돌이상인
- 아르데타인 떠돌이상인
- SI
- 특정페이지가로로
- 3
- 홈페이지제작견적
- SE
- 유튜브
- zoom
- 로헨델 떠돌이상인
- 페이튼 떠돌이상인
- HWP
- 가로세로세팅
- sm
Archives
- Today
- Total
도담도담
이클립스 - 기초활용 format 정리 본문
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