이 기사에서는 Java 개발의 JDBC를 기반으로 데이터베이스에 연결하는 방법에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
7 단계가 포함 된 JDBC를 사용하여 데이터베이스에 연결하는 프로그램을 만듭니다.
1. JDBC 드라이버로드 :
데이터베이스에 연결하기 전에 먼저 JVM (Java Virtual Machine)에 연결하려는 데이터베이스의 드라이버를 Java.lang.class 클래스의 정적 메소드 ForName (String ClassName)을 통해 구현해야합니다.
예를 들어:
{// mysql의 드라이버 클래스 클래스 .forname ( "com.mysql.jdbc.driver");} catch (classNotFoundException e) {System.out.println ( "드라이버 클래스를 찾을 수없고,로드하는 드라이버로드가 실패했습니다!" ); e.printstacktrace ();}성공적인로드 후 드라이버 클래스의 인스턴스가 DriverManager 클래스에 등록됩니다.
2. JDBC 연결에 대한 URL을 제공하십시오
Connection URL은 데이터베이스에 연결할 때 프로토콜, 서브 프로토콜 및 데이터 소스 식별자를 정의합니다.
쓰기 양식 : 프로토콜 : 서브 프로토콜 : 데이터 소스 식별 프로토콜 : JDBC에서는 항상 JDBC로 시작합니다. 브리지 연결 드라이버 또는 데이터베이스 관리 시스템 이름입니다.
데이터 소스 식별 : 데이터베이스 소스가 발견되는 주소 및 연결 포트 태그.
예 : (MySQL의 연결 URL)
jdbc : mysql :
// localhost : 3306/test? useUnicode = true & characterencoding = gbk;
useUnicode = true : 유니 코드 문자 세트를 사용하는 것을 의미합니다. 문자 코딩이 설정된 경우
GB2312 또는 GBK,이 매개 변수는 true로 설정해야합니다. 캐릭터 엔코딩 = GBK : 문자 인코딩 메소드.
3. 데이터베이스 연결을 만듭니다
데이터베이스에 연결하려면 java.sql.drivermanager를 요청하고 데이터베이스 연결을 나타내는 연결 객체를 얻어야합니다.
DriverManager의 getConnectin (String URL, String Username, String Password) 메소드를 사용하여 지정된 데이터베이스 경로, 데이터베이스 사용자 이름 및 비밀번호를 전달하여 연결합니다.
예를 들어:
// mySQL 데이터베이스를 연결하고, 사용자 이름과 비밀번호는 rootstring url = "jdbc : mysql : // localhost : 3306/test"; String username = "root"; String password = "root"; con = driverManager의 Connecti .getConnection (url, username, password);} catch (sqlexception se) {system.out.println ( "데이터베이스 연결 실패!"); se.printstacktrace ();}4. 진술을 만드십시오
SQL 문을 실행하려면 java.sql.statement 인스턴스를 얻어야합니다
유형:
1. 정적 SQL 문을 실행하십시오. 일반적으로 명령문 인스턴스를 통해 구현됩니다.
2. 동적 SQL 문을 실행하십시오. 일반적으로 준비된 체계 인스턴스를 통해 구현됩니다.
3. 데이터베이스 저장 프로 시저를 실행하십시오. 일반적으로 CallableStatement 인스턴스를 통해 구현됩니다.
특정 구현 방법 :
Statement stmt = con.createStatement() ;PreparedStatement pstmt = con.prepareStatement(sql) ;CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;5. SQL 문을 실행하십시오
명령문 인터페이스는 SQL 문을 실행하는 세 가지 방법을 제공합니다 : ExecuteQuery, ExecuteUpdate 및 Execute
1. resultSet executeQuery (String SQLString) : 데이터베이스를 쿼리하고 결과 세트 (resultSet) 객체를 반환하기 위해 SQL 문을 실행합니다.
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3. Execute (SQLString) : 여러 결과 세트, 다중 업데이트 수 또는이 둘의 조합을 반환하는 명령문을 실행하는 데 사용됩니다.
특정 구현 코드 :
resultSet rs = stmt.executeQuery ( "select * from ..."); int rows = stmt.executeUpdate ( "삽입 ..."); 부울 플래그 = stmt.execute (String SQL);
6. 처리 결과
두 가지 상황 :
1. 업데이트 실행은이 작업의 영향을받는 레코드 수를 반환합니다.
2. 쿼리를 실행하여 반환 된 결과는 resultSet 객체입니다.
결과 집합에는 SQL 문의 조건을 충족하는 모든 행이 포함되어 있으며 일련의 GET 메소드를 통해 이러한 행의 데이터에 액세스 할 수 있습니다.
결과 세트 (resultset) 객체의 액세스 방법을 사용하여 데이터를 가져옵니다.
while (rs.next ()) {문자열 name = rs.getString ( "name");(열은 왼쪽에서 오른쪽으로 번호가 매겨지고 열 1에서 시작합니다)
7. JDBC 객체를 닫습니다
작업이 완료된 후에는 모든 JDBC 객체가 닫아 JDBC 리소스를 해제해야합니다.
1. 레코드 세트를 닫으십시오
2. 클로스 진술
3. 연결 객체를 닫습니다
if (rs! = null) {// 레코드 세트를 닫으십시오. {rs.close ();} catch (sqlexception e) {e.printstacktrace ();}} if (stmt! = null) {// 선언을 닫으십시오. try {stmt.close ();} catch (sqlexception e) {e.printstacktrace ();}} if (conn! = null) {// 연결 객체를 닫습니다 {conn.close () catch (sqlexception e; ) {e .printstacktrace ()};보충 : JDBC Oracle Database 예제에 대한 연결
import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; pu blic class testoracle {public static void main (문자열 [] args). {Connection Conn = null; rs = null; Oracle : Thin : @localHost : 1521 : Oar92 "; //@localhost는 서버 이름이고, sjzwish는 데이터베이스 인스턴스 이름입니다. conn = drivermanager.getConnection (url,"guchao ","jimmy "); // 데이터베이스 연결 generation a Table Account, a represents the password stmt = conn.createStatement();//Submit the SQL statement and create a Statement object to send the SQL statement to the database//Query the data with executeQuery rs = stmt.executeQuery(" select * from ruby") ; //Execute the query, (ruby) is the table name while (rs.next()) {//Locate the current record pointer to the first record in the record set System.out.println( rs.getString ( "sid") + " + rs.getString ("sname ")}; // 2는 현재 레코드의 두 번째 필드의 값을 나타내며 필드 이름으로 쓸 수 있습니다. // executeUpdate를 사용하여 데이터를 추가하십시오 //stmt.executeupdate(`sert value (7, 'Jackie Chan') "); cheung 'where id = 5 "); // executeupdate //stmt.executeupdate("delete id = 6")에서 데이터를 삭제합니다. e) {e. printStackTrace () {try {// 프로세스를 종료하고 stmt.close (); PrintStackTrace ();}}}이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.