Apache Derby - recuperar dados
A instrução SELECT é usada para recuperar dados de uma tabela. Isso retorna os dados na forma de uma tabela conhecida como conjunto de resultados.
Sintaxe
A seguir está a sintaxe da instrução SELECT -
ij> SELECT column_name, column_name, ... FROM table_name;
Or,
Ij>SELECT * from table_name
Exemplo
Vamos supor que temos uma tabela chamada Funcionários no banco de dados, conforme mostrado abaixo -
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
E, inseriu quatro registros nele, conforme mostrado abaixo -
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
A instrução SQL a seguir recupera os detalhes de nome, idade e salário de todos os funcionários da tabela;
ij> SELECT Id, Name, Salary FROM Employees;
O resultado desta consulta é -
ID |NAME |SALARY
------------------------------------------------------------------------
1 |Amit |30000
2 |Kalyan |40000
3 |Renuka |50000
4 |Archana |15000
4 rows selected
Se você deseja obter todos os registros desta tabela de uma vez, use * em vez dos nomes das colunas.
ij> select * from Employees;
Isso produzirá o seguinte resultado -
ID |NAME |SALARY |LOCATION
------------------------------------------------------------------
1 |Amit |30000 |Hyderabad
2 |Kalyan |40000 |Vishakhapatnam
3 |Renuka |50000 |Delhi
4 |Archana |15000 |Mumbai
4 rows selected
Recuperar dados usando o programa JDBC
Esta seção ensina como recuperar dados de uma tabela no banco de dados Apache Derby usando o aplicativo JDBC.
Se desejar solicitar o servidor de rede Derby usando o cliente de rede, certifique-se de que o servidor esteja ativo e em execução. O nome da classe para o driver do cliente de rede é org.apache.derby.jdbc.ClientDriver e o URL é jdbc: derby: // localhost: 1527 /DATABASE_NAME; criar = verdadeiro; usuário =USER_NAME; passw ord =PASSWORD"
Siga as etapas fornecidas abaixo para recuperar dados de uma tabela no Apache Derby -
Etapa 1: registrar o driver
Para se comunicar com o banco de dados, em primeiro lugar, você precisa registrar o driver. oforName() método da aula Classaceita um valor String que representa um nome de classe, carrega-o na memória, que o registra automaticamente. Registre o driver usando este método.
Etapa 2: obter a conexão
Em geral, a primeira etapa que fazemos para nos comunicar com o banco de dados é nos conectarmos a ele. oConnectionclasse representa a conexão física com um servidor de banco de dados. Você pode criar um objeto de conexão invocando ogetConnection() método do DriverManagerclasse. Crie uma conexão usando este método.
Etapa 3: Crie um objeto de instrução
Você precisa criar um Statement ou PreparedStatement ou, CallableStatementobjetos para enviar instruções SQL para o banco de dados. Você pode criá-los usando os métodoscreateStatement(), prepareStatement() e, prepareCall()respectivamente. Crie qualquer um desses objetos usando o método apropriado.
Etapa 4: execute a consulta
Depois de criar uma instrução, você precisa executá-la. oStatement classe fornece vários métodos para executar uma consulta como o execute()método para executar uma instrução que retorna mais de um conjunto de resultados. oexecuteUpdate()método executa consultas como INSERT, UPDATE, DELETE. oexecuteQuery() método para resultados que retorna dados etc. Use um desses métodos e execute a instrução criada anteriormente.
Exemplo
O exemplo de JDBC a seguir demonstra como recuperar dados de uma tabela no Apache Derby usando o programa JDBC. Aqui, estamos nos conectando a um banco de dados denominado sampleDB (será criado se não existir) usando o driver incorporado.
o executeQuery() método retorna um ResultSetobjeto que contém o resultado da declaração. Inicialmente, o ponteiro do conjunto de resultados estará no primeiro registro, você pode imprimir o conteúdo do objeto ResultSet usando seunext() e getXXX() métodos.
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(" ");
}
}
}
Resultado
Ao executar o programa acima, você obterá a seguinte saída
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