Apache Derby - pobierz dane
Instrukcja SELECT służy do pobierania danych z tabeli. To zwraca dane w postaci tabeli znanej jako zestaw wyników.
Składnia
Poniżej znajduje się składnia instrukcji SELECT -
ij> SELECT column_name, column_name, ... FROM table_name;
Or,
Ij>SELECT * from table_name
Przykład
Załóżmy, że w bazie danych mamy tabelę o nazwie Pracownicy, jak pokazano poniżej -
ij> CREATE TABLE Employees (
Id INT NOT NULL GENERATED ALWAYS AS IDENTITY,
Name VARCHAR(255),
Salary INT NOT NULL,
Location VARCHAR(255),
PRIMARY KEY (Id)
);
> > > > > > > 0 rows inserted/updated/deleted
I wstawiłem do niego cztery rekordy, jak pokazano poniżej -
ij> INSERT INTO Employees (Name, Salary, Location) VALUES
('Amit', 30000, 'Hyderabad'),
('Kalyan', 40000, 'Vishakhapatnam'),
('Renuka', 50000, 'Delhi'),
('Archana', 15000, 'Mumbai');
> > > > 4 rows inserted/updated/deleted
Następująca instrukcja SQL pobiera nazwiska, wiek i szczegóły wynagrodzenia wszystkich pracowników w tabeli;
ij> SELECT Id, Name, Salary FROM Employees;
Wynik tego zapytania to -
ID |NAME |SALARY
------------------------------------------------------------------------
1 |Amit |30000
2 |Kalyan |40000
3 |Renuka |50000
4 |Archana |15000
4 rows selected
Jeśli chcesz uzyskać wszystkie rekordy tej tabeli naraz, użyj * zamiast nazw kolumn.
ij> select * from Employees;
To da następujący wynik -
ID |NAME |SALARY |LOCATION
------------------------------------------------------------------
1 |Amit |30000 |Hyderabad
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Mumbai
4 rows selected
Pobierz dane za pomocą programu JDBC
W tej sekcji przedstawiono sposób pobierania danych z tabeli w bazie danych Apache Derby za pomocą aplikacji JDBC.
Jeśli chcesz zażądać serwera sieciowego Derby za pomocą klienta sieciowego, upewnij się, że serwer jest uruchomiony i działa. Nazwa klasy sterownika klienta sieci to org.apache.derby.jdbc.ClientDriver, a adres URL to jdbc: derby: // localhost: 1527 /DATABASE_NAME; create = true; user =USER_NAME; passw ord =PASSWORD"
Wykonaj czynności podane poniżej, aby pobrać dane z tabeli w Apache Derby -
Krok 1: Zarejestruj sterownik
Aby komunikować się z bazą danych, należy przede wszystkim zarejestrować sterownik. PlikforName() metoda klasy Classakceptuje wartość String reprezentującą nazwę klasy, ładuje ją do pamięci, która automatycznie ją rejestruje. Zarejestruj sterownik za pomocą tej metody.
Krok 2: Uzyskaj połączenie
Ogólnie rzecz biorąc, pierwszym krokiem, jaki robimy, aby komunikować się z bazą danych, jest połączenie się z nią. PlikConnectionklasa reprezentuje fizyczne połączenie z serwerem bazy danych. Możesz utworzyć obiekt połączenia, wywołującgetConnection() metoda DriverManagerklasa. Utwórz połączenie za pomocą tej metody.
Krok 3: Utwórz obiekt instrukcji
Musisz utworzyć plik Statement lub PreparedStatement lub, CallableStatementobiekty do wysyłania instrukcji SQL do bazy danych. Możesz je utworzyć za pomocą metodcreateStatement(), prepareStatement() i, prepareCall()odpowiednio. Utwórz jeden z tych obiektów przy użyciu odpowiedniej metody.
Krok 4: Wykonaj zapytanie
Po utworzeniu instrukcji musisz ją wykonać. PlikStatement klasa zapewnia różne metody wykonywania zapytania, takie jak execute()metoda, aby wykonać instrukcję, która zwraca więcej niż jeden zestaw wyników. PlikexecuteUpdate()metoda wykonuje zapytania, takie jak INSERT, UPDATE, DELETE. PlikexecuteQuery() do wyników, które zwracają dane itp. Użyj jednej z tych metod i wykonaj instrukcję utworzoną wcześniej.
Przykład
Poniższy przykład JDBC pokazuje, jak pobrać dane z tabeli w Apache Derby za pomocą programu JDBC. Tutaj łączymy się z bazą danych o nazwie sampleDB (utworzymy, jeśli nie istnieje) za pomocą wbudowanego sterownika.
Plik executeQuery() metoda zwraca plik ResultSetobiekt, który przechowuje wynik instrukcji. Początkowo wskaźnik zestawu wyników będzie znajdować się na pierwszym rekordzie, możesz wydrukować zawartość obiektu ResultSet za pomocą jegonext() i getXXX() metody.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class RetrieveData {
public static void main(String args[]) throws SQLException,
ClassNotFoundException {
//Registering the driver
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
//Getting the Connection object
String URL = "jdbc:derby:sampleDB;create=true";
Connection conn = DriverManager.getConnection(URL);
//Creating the Statement object
4Statement stmt = conn.createStatement();
//Creating a table and populating it
String query = "CREATE TABLE Employees("
+ "Id INT NOT NULL GENERATED ALWAYS AS IDENTITY, "
+ "Name VARCHAR(255), Salary INT NOT NULL, "
+ "Location VARCHAR(255), "
+ "PRIMARY KEY (Id))";
String query = "INSERT INTO Employees("
+ "Name, Salary, Location) VALUES "
+ "('Amit', 30000, 'Hyderabad'), "
+ "('Kalyan', 40000, 'Vishakhapatnam'), "
+ "('Renuka', 50000, 'Delhi'), "
+ "('Archana', 15000, 'Mumbai'), "
+ "('Trupthi', 45000, 'Kochin'), "
+ "('Suchatra', 33000, 'Pune'), "
+ "('Rahul', 39000, 'Lucknow'), "
+ "('Trupti', 45000, 'Kochin')";
//Executing the query
String query = "SELECT Id, Name, Salary FROM Employees";
ResultSet rs = stmt.executeQuery(query);
while(rs.next()) {
System.out.println("Id: "+rs.getString("Id"));
System.out.println("Name: "+rs.getString("Name"));
System.out.println("Salary: "+rs.getString("Salary"));
System.out.println(" ");
}
}
}
Wynik
Wykonując powyższy program, otrzymasz następujące dane wyjściowe
Id: 1
Name: Amit
Salary: 30000
Id: 2
Name: Kalyan
Salary: 43000
Id: 3
Name: Renuka
Salary: 50000
Id: 4
Name: Archana
Salary: 15000
Id: 5
Name: Trupthi
Salary: 45000
Id: 6
Name: Suchatra
Salary: 33000
Id: 7
Name: Rahul
Salary: 39000