Java의 JDBC 데이터베이스 연결 코드 및 단계에 대한 자세한 설명
JDBC 연결 데이터베이스
• 데이터베이스에 연결하는 프로그램 만들기 JDBC 사용, 7단계 포함:
1. JDBC 드라이버 로드:
데이터베이스에 연결하기 전에 먼저 드라이버를 로드해야 합니다. 연결하려는 데이터베이스의 JVM(Java Virtual Machine)에 대한 작업은 java.lang.Class 클래스의 정적 메소드 forName(String className)을 통해 수행됩니다.
예:
try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ; }catch(ClassNotFoundException e){ System.out.println("找不到驱动程序类 ,加载驱动失败!"); e.printStackTrace() ; }
성공적으로 로드된 후 Driver 클래스의 인스턴스 DriverManager 클래스에 등록됩니다.
2. JDBC 연결을 위한 URL 제공
• 연결 URL은 연결 시 프로토콜, 하위 프로토콜, 데이터 소스 식별을 정의합니다. 데이터베이스에.
•작성 형식: 프로토콜: 하위 프로토콜: 데이터 소스 식별자
프로토콜: JDBC에서 항상 jdbc로 시작
하위 프로토콜: 브리지 연결의 드라이버 또는 이름 데이터베이스 관리 시스템의 일부입니다.
데이터 소스 식별: 데이터베이스 소스가 발견된 주소와 연결 포트를 표시합니다.
예: (MySql 연결 URL)
jdbc:mysql: //localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true: 유니코드 문자 세트를 사용하십시오. CharacterEncoding이
gb2312 또는 GBK로 설정된 경우 이 매개변수를 true로 설정해야 합니다. CharacterEncoding=gbk: 문자 인코딩 방법.
3. 데이터베이스 연결 생성
• 데이터베이스에 연결하려면 java.sql에서 Connection 개체를 요청하고 가져와야 합니다. .DriverManager, 이는 데이터베이스 연결을 나타냅니다.
• DriverManager의 getConnectin(문자열 url, 문자열 사용자 이름, 문자열 비밀번호) 메소드를 사용하여 연결할 지정된 데이터베이스의 경로, 데이터베이스의 사용자 이름 및
비밀번호를 전달하여 가져옵니다. 그것.
예:
//连接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() ; }
4. 성명 만들기
•SQL 문장을 실행하기 위해서는 java.sql.Statement 인스턴스를 얻어야 한다. 문장 인스턴스는 다음과 같은 3가지 종류로 나누어진다.
1. 실행 정적 SQL 문. 일반적으로 State 인스턴스를 통해 구현됩니다.
2. 동적 SQL문을 실행한다. 일반적으로 ReadyStatement 인스턴스를 통해 구현됩니다.
3. 데이터베이스 저장 프로시저를 실행합니다. 일반적으로 CallableStatement 인스턴스를 통해 구현됩니다.
구체적인 구현:
Statement stmt = con.createStatement() ; PreparedStatement pstmt = con.prepareStatement(sql) ; CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
5. SQL 문 실행
Statement 인터페이스는 SQL 문을 실행하기 위한 세 가지 메서드인 ExecuteQuery, ExecuteUpdate 및 Execution
을 제공하며 결과 집합(ResultSet) 개체를 반환합니다.
3. Execute(sqlString): 실행하는 데 사용됩니다. 여러 결과 집합, 여러 업데이트 횟수 또는 이 둘의 조합을 반환하는 문입니다.
구체적인 구현 코드 :
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ; int rows = stmt.executeUpdate("INSERT INTO ...") ; boolean flag = stmt.execute(String sql) ;
6. 처리 결과
두 가지 상황:
2. 쿼리를 실행하여 반환되는 결과는 ResultSet 개체입니다.
• ResultSet에는 SQL 문의 조건을 충족하는 모든 행이 포함되어 있으며 일련의 get 메소드를 통해 이러한 행의 데이터에 대한 액세스를 제공합니다.
• ResultSet 객체의 액세스 방법을 사용하여 데이터를 얻습니다.
while(rs.next()){ String name = rs.getString("name") ; String pass = rs.getString(1) ; // 此方法比较高效 }
7、关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声 明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
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中文网!