mysql.org 에서 먼저 DB 와 GUI 툴 정도를 다운받아 설치한다.

MySQL Community Server 에서 버전을 선택하여 다운받아 설치하면 된다.

또한 GUI Tools 도 알맞은 버전을 다운받아 설치한다.

설치과정은 생략^^;

mysql connector 은 mysql tools 디렉토리에 첨부되어있으니 프로젝트 라이브러리에 add 시켜야한다.

샘플 테이블을 만든 뒤 mysql 을 연동하는 프로그램을 만들어 보았다.


package prj_jdbc;
import java.sql.*;
/**
 *
 * @author 컴퓨터과학부
 */
public class HelloJDBC {

    String id, pwd;
   
    public HelloJDBC(String id, String pwd) {
        this.id = id;
        this.pwd = pwd;
        try {
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
                             
        }
        catch (Exception ex) {
            ex.printStackTrace();
        }
    }
   
    public void getData() {
        try {
            String url = "jdbc:mysql://localhost:3306/contacts";
            String option = "?useUnicode=true&characterEncoding=KSC5601";
            url = url + option;
            Connection con = DriverManager.getConnection(url, id, pwd);
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("select * from friends");
            while(rs.next()) {
                String name = rs.getString(1);
                String phone = rs.getString(2);
                String email = rs.getString(3);
                String company = rs.getString(4);
               
                System.out.println(name + " \t | " + phone + "\t | " + email + "\t | " + company);
            }
            rs.close();
            stmt.close();
            con.close();
        }
        catch(Exception ex) {
            ex.printStackTrace();
        }
    }
   
    public static void main(String [] args) {
        HelloJDBC hj = new HelloJDBC("root", "root");
        hj.getData();
    }
}
   
   

   

Posted by 행복한 프로그래머 궁금쟁이박
TAG Java, JDBC, MySQL

댓글을 달아 주세요

@ Java DataBase Connectivity


@ 자바에서 데이타베이스와 관련된 작업을 처리할 수 있게 도와주는 API


@ DBMS종류에 상관없이 데이터베이스 작업 처리.


@ JDBC 드라이버는 클래스 형태로 존재하며 일반적으로 Jar 파일로 제공됨

  - MySQL : mysql-connector-java-3.0.14-production-bin.jar

  - Oracle : oracle\classes12.jar


@ JDBC 코딩 스타일

   1. JDBC 드라이버 로딩

       - MySQL : com.mysql.jdbc.Driver

       - Oracle : oracle.jdbc.driver.OracleDriver


  private OracleDAO() {
  try {
   Class.forName(OracleDAO.DRIVER);
  } catch(ClassNotFoundException cnfe) {
   System.out.println("Driver Not Found!!!");
  }
 }

   2. 데이터베이스 커넷션 구함

     

private void connect() {
  try {
   con = DriverManager.getConnection(
     OracleDAO.URL,
     OracleDAO.USER,
     OracleDAO.PASSWORD
   );
  } catch (SQLException sqle) {
   System.out.println("Wrong Infomation to Connection!!!");
  }
 }


   3. 쿼리 실행을 위한 Statement 객체 생성

   4. 쿼리 실행

   5. 쿼리 실행 결과 사용

   6. Statement 종료

   7. 데이터베이스 커넥션 종료


@ Oracle의 LONG 타입, MySQL의 MEDIUMTEXT(VARCHAR) 을 ResultSet으로 값을 얻어 올떄, getCharacterStream()메소드를 사용하여 읽어 와야 한다.


@ PreparedStatement 쿼리를 사용하는 이유

  - 반복해서 실행되는 쿼리 속도 증가

  - 값 변환을 자동으로 하기 위해

  - 간결한 코드를 위해


@ Connection Pool

  - Connection이 생성디어 있기 때문에 Connection을 생성하는데 드는 연결 시간이 소비되지 않는다.

  - Connection을 계속해서 재사용하기 떄문에 생성되는 Connection 수가 많지 않다.


DataSource ds;
 
 private OracleDAO() {

  try
  {
   //기본적으로 개발는 환경을 만들고
   Context initContext = new InitialContext();
 
   //커넷션 풀을 가지고 옴
   ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/myJdbc");
   System.out.println("Context를 가지고 옴");
  }
  catch(NamingException ne){}
 

Posted by 행복한 프로그래머 궁금쟁이박
TAG JDBC

댓글을 달아 주세요

Posted by 행복한 프로그래머 궁금쟁이박
TAG JDBC

댓글을 달아 주세요

다운.
Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요

public String kor(String id)
{
String temp = "";
try
{
temp = new String(id.getBytes("8859_1"),"KSC5601");
}catch(Exception e){}
return temp;
}
이 함수는 디비에 들어가기전
한국어가 거치고 나면
디비저장시 한글이 되며 꺼내올때도 깨지지 않습니다.
이 거는 웹에서 한글이 디비에 들어갈때 깨지기에 이렇게 합니다.
이렇게 해서 저장하면 꺼낼때도 이상없이 웹에 뿌려지고 나옵니다.
그리구 이 함수를 거쳐서 오라클 디비에 넣어야 합니다.
그래야 한글 이 안깨집니다. 아마 다른 것에 저장할때도 자바는
이처리 해야합니다.
Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요