> Java > Java시작하기 > jdbc를 사용하여 데이터베이스에 연결하는 단계는 무엇입니까?

jdbc를 사용하여 데이터베이스에 연결하는 단계는 무엇입니까?

王林
풀어 주다: 2023-01-13 00:40:09
원래의
99774명이 탐색했습니다.

jdbc가 데이터베이스에 연결하는 단계: 1. jdbc 드라이버 로드 2. 데이터베이스 연결 생성 4. SQL 문 실행 6. 예외 처리 및 종료 JDBC 객체 자원.

jdbc를 사용하여 데이터베이스에 연결하는 단계는 무엇입니까?

이 기사의 운영 환경: windows10 시스템, java 1.8, thinkpad t480 컴퓨터.

JDBC를 데이터베이스에 연결하려면 다음 단계를 포함하여 JDBC로 데이터베이스에 연결하는 프로그램을 만듭니다.

먼저 JDBC에 필요한 4가지 매개변수(사용자, 비밀번호, URL, 드라이버클래스)를 준비합니다.

(1) user user name

(2) Password

(3) URL은 데이터베이스에 연결할 때 프로토콜, 하위 프로토콜 및 데이터 소스 식별자를 정의하며 콜론으로 구분됩니다. 작성 형식: 프로토콜: 서브프로토콜: 데이터 소스 식별자 프로토콜: JDBC에서 항상 jdbc로 시작합니다. 서브프로토콜: 브릿지 연결의 드라이버 또는 데이터베이스 관리 시스템의 이름입니다.​ ​

​ 데이터 소스 식별: 데이터베이스 소스가 발견된 주소와 연결 포트를 표시합니다.​

​ 예: (MySql 연결 URL) ​
​ jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk ​ ​
​ useUnicode=true: 유니코드 문자 집합을 사용함을 나타냅니다. CharacterEncoding이 gb2312 또는 GBK로 설정된 경우 이 매개변수를 true로 설정해야 합니다. CharacterEncoding=gbk: 문자 인코딩 방법.

(4) 데이터베이스에 연결하려면 드라이버 클래스 드라이버가 필요합니다.

1. JDBC 드라이버 로드:

데이터베이스에 연결하기 전에 먼저 JVM(Java Virtual Machine)에 연결하려는 데이터베이스의 드라이버를 로드해야 합니다. 이는 forName(String className) 정적 메서드를 통해 수행됩니다. ) java.lang.Class 클래스를 수행합니다.​​

예: ​​

try{//加载MySql的驱动类    
         Class.forName("com.mysql.jdbc.Driver") ;    
    }catch(ClassNotFoundException e){    
         System.out.println("找不到驱动程序类 ,加载驱动失败!");    
         e.printStackTrace() ;    
    }
로그인 후 복사

로드에 성공하면 Driver 클래스의 인스턴스가 DriverManager 클래스에 등록됩니다.​

2. 데이터베이스 연결 생성 ​ ​


​ • 데이터베이스에 연결하기 위해서는 데이터베이스 연결을 나타내는 java.sql.DriverManager로부터 Connection 객체를 요청하고 얻어야 합니다.​ ​

​ •DriverManager의 getConnectin(String url, String username, String Password) 메소드를 사용하여 연결하려는 지정된 데이터베이스의 경로와 이를 얻을 데이터베이스의 사용자 이름 및 비밀번호를 전달합니다.

예:


//连接MySql数据库,用户名和密码都是root    
     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() ;    
     }
로그인 후 복사

3. prepareStatement 생성


•SQL 문을 실행하려면 java.sql.Statement 인스턴스를 얻어야 합니다.

1. 정적 SQL을 실행합니다. 진술. 일반적으로 State 인스턴스를 통해 구현됩니다.​ ​

​ 2. 동적 SQL문을 실행한다. 일반적으로 ReadyStatement 인스턴스를 통해 구현됩니다.​

​ 3. 데이터베이스 저장 프로시저를 실행합니다. 일반적으로 CallableStatement 인스턴스를 통해 구현됩니다.现 • 구체적인 구현 방법:

statement stmt = con.createStatement ();
PreparedStatement PSTMT = con.preparestatement (SQL); L decosp (?,?)} ");

4. SQL 문 실행

•The Statement 인터페이스는 SQL 문을 실행하는 세 가지 방법인 ExecuteQuery, ExecuteUpdate 및 Execution을 제공합니다.
1. ResultSet ExecuteQuery(String sqlString): 데이터베이스를 쿼리하는 SQL 문을 실행하고 결과 집합(ResultSet) 개체를 반환합니다.
2. int excuteUpdate(String sqlString): CREATE TABLE 및 DROP TABLE 등과 같은 INSERT, UPDATE 또는 DELETE 문과 SQL DDL 문을 실행하는 데 사용됩니다.

3. Execute(sqlString): 여러 결과를 실행하고 반환하는 데 사용됩니다. 집합, 개수를 업데이트하는 여러 문 또는 둘의 조합입니다.

•구체 구현 코드:                                                                                                      ’ s ’ 사용 사용 ’s ’ 사용 ’s ‐ to ‐ n n ‐                                                               mt.execute( String sql) ;

5. 결과 집합 탐색

两种情况:
1、执行更新返回的是本次操作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些
行中数据的访问。
• 使用结果集(ResultSet)对象的访问方法获取数据:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ; // 此方法比较高效
}
(列是从左到右编号的,并且从列1开始)

6、处理异常,关闭JDBC对象资源

•操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声 明顺序相反:
1、先关闭requestSet
2、再关闭preparedStatement
3、最后关闭连接对象connection

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视频教程

위 내용은 jdbc를 사용하여 데이터베이스에 연결하는 단계는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿