본문 바로가기
Web/JSP/Servlet/JDBC

[JDBC] jdbc예제/jdbc example

by 나비와꽃기린 2016. 6. 22.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

***실습1
import java.sql.*;
 
class JDBCExample1 {
      
       /*
        * 네트워크 문제 -> DB 포트확인 ....1521 혹은 1522
        * 컴퓨터 > 관리 > 서비스 죽이기
        */
       /*
        * conn jsp/jsp
        */
      
    public static void main(String args[]) {
        Connection conn = null;
        try {
            Class.forName("oracle.jdbc.OracleDriver");
            conn = DriverManager.getConnection(  //포트,계정이름
                        "jdbc:oracle:thin:@localhost:1521/xe", "jsp", "jsp");
            System.out.println("데이터베이스에 접속했습니다.");
            conn.close();
        }
        catch (ClassNotFoundException cnfe) {
            System.out.println("해당 클래스를 찾을 수 없습니다." +
                               cnfe.getMessage());
        }
        catch (SQLException se) {
            System.out.println(se.getMessage());
        }
    }
}
 
 
***실습2
import java.sql.*;
class JDBCExample2 {
    public static void main(String args[]) {
        Connection conn = null;
        Statement stmt = null;
        try {
            Class.forName("oracle.jdbc.OracleDriver");  //드라이버 로딩
            conn = DriverManager.getConnection(         //드라이버 관리자로 인한 커넥션 객체 생성. getConnection 메소드를 사용하여 -->java.sql 및에 connection객체 있음
                     "jdbc:oracle:thin:@localhost:1521/xe", "jsp", "jsp");  //DB 연결
            stmt = conn.createStatement();  //자바에서 문장관리를 하는 객체 생성
           
            //***삽입
            //stmt.executeQuery("insert into goodsinfo values('10006','냉장고',500,'삼성')");
            //***수정
            //stmt.executeQuery("update goodsinfo set maker='LG' where code='10007'");
            //***삭제
            stmt.executeQuery("delete from goodsinfo where code='10007'");
 
            ResultSet rs = stmt.executeQuery(  //결과 저장 클래스 ResultSet
                "select code, name, price, maker from goodsinfo");
            System.out.println("상품코드 상품명 \t\t가격 제조사");
            System.out.println(
                "----------------------------------------------");
            while (rs.next()) { //자료를 가져올때 next()
                String code = rs.getString("code");
                String name = rs.getString("name");
                int price = rs.getInt("price");
                String maker = rs.getString("maker");
                System.out.printf("%8s %s \t%12d %s%n", code, //서식지정자 printf
                    name, price, maker);  //toUnicode(maker) MySQL시 String처리 이렇게..
                }
        }
        catch (ClassNotFoundException cnfe) {
            System.out.println("해당 클래스를 찾을 수 없습니다." +
                               cnfe.getMessage());
        }
        catch (SQLException se) {
            System.out.println(se.getMessage());
        }
        finally {
            try {
                stmt.close();
            }
            catch (Exception ignored) {
            }
            try {
                conn.close();
            }
            catch (Exception ignored) {
            }
        }
    }
   
    /*
     * 클래스를 찾을 수 없다 --> Build path 잡기.
     *  ojdbc.jar 추가
     */
   
   
   
/*
 * private static String toUnicode(String str) {     //MySQL에서 한글처리를 위한 코드 (한글깨짐처리)
        try {
            byte[] b = str.getBytes("ISO-8859-1");
            return new String(b);
        }
        catch (java.io.UnsupportedEncodingException uee) {
            System.out.println(uee.getMessage());
            return null;
        }
    }
    */
}