JDBC - Mẫu, Mã ví dụ
Chương này cung cấp một ví dụ về cách tạo một ứng dụng JDBC đơn giản. Điều này sẽ chỉ cho bạn cách mở kết nối cơ sở dữ liệu, thực hiện truy vấn SQL và hiển thị kết quả.
Tất cả các bước được đề cập trong ví dụ mẫu này, sẽ được giải thích trong các chương tiếp theo của hướng dẫn này.
Tạo ứng dụng JDBC
Có sáu bước sau liên quan đến việc xây dựng ứng dụng JDBC:
Import the packages:Yêu cầu bạn bao gồm các gói chứa các lớp JDBC cần thiết cho lập trình cơ sở dữ liệu. Thông thường, sử dụng import java.sql. * Là đủ.
Register the JDBC driver: Yêu cầu bạn khởi tạo trình điều khiển để bạn có thể mở kênh giao tiếp với cơ sở dữ liệu.
Open a connection:Yêu cầu sử dụng phương thức DriverManager.getConnection () để tạo một đối tượng Connection, đại diện cho một kết nối vật lý với cơ sở dữ liệu.
Execute a query: Yêu cầu sử dụng đối tượng kiểu Statement để xây dựng và gửi một câu lệnh SQL tới cơ sở dữ liệu.
Extract data from result set:Yêu cầu bạn sử dụng phương thức ResultSet.getXXX () thích hợp để truy xuất dữ liệu từ tập kết quả.
Clean up the environment: Yêu cầu đóng tất cả các tài nguyên cơ sở dữ liệu một cách rõ ràng thay vì dựa vào bộ sưu tập rác của JVM.
Mã mẫu
Ví dụ mẫu này có thể đóng vai trò là template khi bạn cần tạo ứng dụng JDBC của riêng mình trong tương lai.
Mã mẫu này đã được viết dựa trên môi trường và thiết lập cơ sở dữ liệu được thực hiện trong chương trước.
Sao chép và dán ví dụ sau vào FirstExample.java, biên dịch và chạy như sau:
//STEP 1. Import required packages
import java.sql.*;
public class FirstExample {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/EMP";
// 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 database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, first, last, age FROM Employees";
ResultSet rs = stmt.executeQuery(sql);
//STEP 5: Extract data from result set
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);
}
//STEP 6: Clean-up environment
rs.close();
stmt.close();
conn.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)
stmt.close();
}catch(SQLException se2){
}// nothing we can do
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}//end main
}//end FirstExample
Bây giờ chúng ta hãy biên dịch ví dụ trên như sau:
C:\>javac FirstExample.java
C:\>
Khi bạn chạy FirstExample, nó tạo ra kết quả sau:
C:\>java FirstExample
Connecting to database...
Creating statement...
ID: 100, Age: 18, First: Zara, Last: Ali
ID: 101, Age: 25, First: Mahnaz, Last: Fatma
ID: 102, Age: 30, First: Zaid, Last: Khan
ID: 103, Age: 28, First: Sumit, Last: Mittal
C:\>