Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để truy xuất các cột cụ thể của một bảng bằng chương trình JDBC?

A Bộ kết quả giao diện trong JDBC đại diện cho dữ liệu dạng bảng được tạo bởi các truy vấn SQL. Nó có một con trỏ trỏ đến hàng hiện tại. Ban đầu con trỏ này được đặt trước hàng đầu tiên.

Bạn có thể di chuyển con trỏ bằng phím tiếp theo () và bạn có thể truy xuất các giá trị cột của một hàng bằng các phương thức getter của giao diện ResultSet (getInt (), getString (), getDate (), v.v.).

Để truy xuất dữ liệu cần thiết từ một bảng:

  • Kết nối với cơ sở dữ liệu.

  • Tạo một đối tượng Statement.

  • Thực thi câu lệnh bằng cách sử dụng executeQuery () phương pháp. Đối với phương pháp này, hãy chuyển truy vấn chọn ở định dạng Chuỗi. Để truy xuất tất cả các giá trị, chúng tôi sử dụng truy vấn sau:

Select * from TableName;
  • Để truy xuất các cột cụ thể, hãy chỉ định tên cột bắt buộc thay vì * như:

select Name, DOB from Emp

Ví dụ

Giả sử chúng ta có một bảng có tên Emp trong cơ sở dữ liệu với mô tả sau:

+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| Name     | varchar(255) | YES  |     | NULL    |       |
| DOB      | date         | YES  |     | NULL    |       | 
| Location | varchar(255) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+

Ví dụ sau JDBC truy xuất giá trị Tên và DOB của các nhân viên từ bảng Emp.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class RetrievingParticularColumn {
      public static void main(String args[]) throws Exception {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");

      //Creating a Statement object
      Statement stmt = con.createStatement();
      //Retrieving the data
      ResultSet rs = stmt.executeQuery("select Name, DOB from Emp");

      System.out.println("Contents of the table");
      while(rs.next()) {
         System.out.print("Name of the Employee: "+rs.getString("Name")+", ");
         System.out.print("Date of Birth: "+rs.getDate("DOB"));
         System.out.println("");
      }
   }
}

Đầu ra

Connection established......
Contents of the table
Name of the Employee: Amit, Date of Birth: 1970-01-08
Name of the Employee: Sumith, Date of Birth: 1970-01-08
Name of the Employee: Sudha, Date of Birth: 1970-01-05