>데이터 베이스 >MySQL 튜토리얼 >[MySQL 05] Java를 활용한 MySQL 운영(데이터베이스 생성)

[MySQL 05] Java를 활용한 MySQL 운영(데이터베이스 생성)

黄舟
黄舟원래의
2017-02-04 11:52:151311검색

JDBC 연결 데이터베이스:

1. JDBC 드라이버 로드
2. JDBC 연결 URL 제공
3. 명령문 생성
5, SQL 문 실행
6. 결과 처리
7. JDBC 개체 닫기

1. JDBC 드라이버 로드:

데이터베이스에 연결하기 전에 연결하려는 데이터베이스를 먼저 로드해야 합니다. 데이터베이스는 java.lang.Class 클래스의 정적 메소드


 //加载数据库驱动总共有三种方式:
 try{   
    //①  
    Class.forName("com.mysql.jdbc.Driver") ;   
    //②    com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();
    //③
    new com.mysql.jdbc.driver();

 }catch(ClassNotFoundException e){   
    System.out.println("找不到驱动程序类 ,加载驱动失败!");   
    e.printStackTrace() ;   
 }

를 통해 성공적으로 로드된 후, Driver 클래스의 인스턴스는 DriverManager 클래스에 등록됩니다.

2. JDBC 연결을 위한 URL 제공

  • 연결 URL은 데이터베이스에 연결할 때 프로토콜, 하위 프로토콜 및 데이터 소스 식별자를 정의합니다.

  • MYSQL JDBC URL 작성 방법: jdbc:mysql://호스트 이름: 포트 번호/데이터베이스 이름? user = 사용자 이름 & 비밀번호 = 비밀번호 & useUnicode = true & CharacterEncoding = UTF8

  •  String url = "jdbc:mysql://localhost:3306/samp_db?" + "user=root&password=mysql&useUnicode=true&characterEncoding=UTF8";
3. 데이터베이스 연결 생성

• 데이터베이스에 연결하려면 다음이 필요합니다. java.sql 요청 .DriverManager는 데이터베이스 연결을 나타내는 연결 객체를 요청하고 얻습니다. 1. 정적 SQL 문을 실행합니다. 일반적으로 State 인스턴스를 통해 구현됩니다.
2. 동적 SQL문을 실행합니다. 일반적으로 ReadyStatement 인스턴스를 통해 구현됩니다.
3. 데이터베이스 저장 프로시저를 실행합니다. 일반적으로 CallableStatement 인스턴스를 통해 구현됩니다.

  String url = "jdbc:mysql://localhost:3306/test" ;    
     String username = "root" ;   
     String password = "root" ;   
  try{   

     Connection con = DriverManager.getConnection(url , username , password ) ;  

  }catch(SQLException se){   
     System.out.println("数据库连接失败!");   
     se.printStackTrace() ;   
  }

5. SQL 문 실행


Statement 인터페이스는 SQL 문 실행을 위한 세 가지 메서드인 ExecuteQuery, ExecuteUpdate 및 Execution을 제공합니다.
1. 데이터베이스를 쿼리하고 결과 집합(ResultSet) 개체를 반환하는 SQL 문입니다.
2. int excuteUpdate(String sqlString): INSERT, UPDATE, DELETE 문과 CREATE TABLE, DROP TABLE 등과 같은 SQL DDL 문을 실행하는 데 사용됩니다.
execute(sqlString): 실행하는 데 사용됩니다. 다중 반환 결과 세트, 다중 업데이트 횟수 또는 둘의 조합이 포함된 명령문입니다.

 Statement stmt = con.createStatement() ;  

    PreparedStatement pstmt = con.prepareStatement(sql) ; 

    CallableStatement cstmt =   con.prepareCall("{CALL demoSp(? , ?)}") ;

6. 결과 처리

두 가지 상황:
1. 업데이트를 실행하면 이 작업의 영향을 받은 레코드 수가 반환됩니다.
2. 쿼리를 실행하여 반환되는 결과는 ResultSet 개체입니다.
• ResultSet에는 SQL 문의 조건과 일치하는 모든 행이 포함되어 있으며 일련의 get 메소드를 통해 이러한 행의 데이터에 대한 액세스를 제공합니다.

• ResultSet 개체의 액세스 방법을 사용하여 데이터 가져오기:

  ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;   
   int rows = stmt.executeUpdate("INSERT INTO ...") ;   
   boolean flag = stmt.execute(String sql) ;

7. JDBC 개체를 닫습니다.


작업이 완료된 후 사용된 모든 JDBC 개체를 닫아야 합니다. JDBC 리소스의 경우 닫기 순서는 선언 순서와 반대입니다.
1. 레코드 세트 닫기
2. 문 닫기
3. 연결 개체 닫기

  while(rs.next()){   
         String name = rs.getString("name") ;   
         String pass = rs.getString(1) ; // 此方法比较高效   
  }   
    (列是从左到右编号的,并且从列1开始)

전체 프로그램:

 if(rs != null){   // 关闭记录集   
    try{   
       rs.close() ;   
    }catch(SQLException e){   
       e.printStackTrace() ;   
    }   
 }   if(stmt != null){   // 关闭声明   
    try{   
       stmt.close() ;   
    }catch(SQLException e){   
       e.printStackTrace() ;   
    }   
 }   

 if(conn != null){  // 关闭连接对象   
    try{   
       conn.close() ;   
    }catch(SQLException e){   
       e.printStackTrace() ;   
    }   
 }




위는 Java를 사용하여 MySQL을 구동(데이터베이스 생성)하는 [MySQL 05]의 내용입니다. 더 많은 관련 내용은 PHP를 참고해주세요. 중국사이트(www.php.cn)!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.