JDBC-Like 절 예
이 장에서는 JDBC 애플리케이션을 사용하여 테이블에서 레코드를 선택하는 방법에 대한 예를 제공합니다. 이렇게하면 테이블에서 레코드를 선택하는 동안 LIKE 절을 사용하여 추가 조건이 추가됩니다. 다음 예제를 실행하기 전에 다음이 있는지 확인하십시오.
다음 예제를 실행하려면 당신은 대체 할 수있는 사용자 이름 과 암호를 실제 사용자 이름과 암호를.
MySQL 또는 사용중인 데이터베이스가 실행 중입니다.
필수 단계
다음 단계는 JDBC 응용 프로그램을 사용하여 새 데이터베이스를 생성하는 데 필요합니다-
Import the packages:데이터베이스 프로그래밍에 필요한 JDBC 클래스가 포함 된 패키지를 포함해야합니다. 대부분의 경우 import java.sql. * 를 사용하는 것으로 충분합니다.
Register the JDBC driver: 데이터베이스와의 통신 채널을 열 수 있도록 드라이버를 초기화해야합니다.
Open a connection:은 USING 필요 DriverManager.getConnection를 () 는 데이터베이스 서버와의 물리적 연결을 나타내는 연결 객체를 생성하는 방법.
Execute a query:주어진 조건을 충족하는 테이블에서 레코드를 가져 오기 위해 SQL 문을 빌드하고 제출하려면 Statement 유형의 오브젝트를 사용해야합니다. 이 쿼리는LIKE 이름이 "za"로 시작하는 모든 학생을 선택하기 위해 레코드를 선택하는 절.
Clean up the environment: JVM의 가비지 수집에 의존하는 대신 모든 데이터베이스 리소스를 명시 적으로 닫아야합니다.
샘플 코드
다음 예제를 JDBCExample.java에 복사하여 붙여넣고 다음과 같이 컴파일하고 실행하십시오.
//STEP 1. Import required packages
import java.sql.*;
public class JDBCExample {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/STUDENTS";
// Database credentials
static final String USER = "username";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Open a connection
System.out.println("Connecting to a selected database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected database successfully...");
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
// Extract records without any condition.
System.out.println("Fetching records without condition...");
String sql = "SELECT id, first, last, age FROM Registration";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
//Retrieve by column name
int id = rs.getInt("id");
int age = rs.getInt("age");
String first = rs.getString("first");
String last = rs.getString("last");
//Display values
System.out.print("ID: " + id);
System.out.print(", Age: " + age);
System.out.print(", First: " + first);
System.out.println(", Last: " + last);
}
// Select all records having ID equal or greater than 101
System.out.println("Fetching records with condition...");
sql = "SELECT id, first, last, age FROM Registration" +
" WHERE first LIKE '%za%' ";
rs = stmt.executeQuery(sql);
while(rs.next()){
//Retrieve by column name
int id = rs.getInt("id");
int age = rs.getInt("age");
String first = rs.getString("first");
String last = rs.getString("last");
//Display values
System.out.print("ID: " + id);
System.out.print(", Age: " + age);
System.out.print(", First: " + first);
System.out.println(", Last: " + last);
}
rs.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
//finally block used to close resources
try{
if(stmt!=null)
conn.close();
}catch(SQLException se){
}// do nothing
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}//end main
}//end JDBCExample
이제 위의 예를 다음과 같이 컴파일 해 보겠습니다.
C:\>javac JDBCExample.java
C:\>
당신이 달릴 때 JDBCExample, 다음 결과를 생성합니다-
C:\>java JDBCExample
Connecting to a selected database...
Connected database successfully...
Creating statement...
Fetching records without condition...
ID: 100, Age: 30, First: Zara, Last: Ali
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
Fetching records with condition...
ID: 100, Age: 30, First: Zara, Last: Ali
ID: 102, Age: 30, First: Zaid, Last: Khan
Goodbye!
C:\>