Como inserir registros em uma tabela usando a conexão JDBC?
Antes de inserir o conteúdo em uma tabela, precisamos conectar nosso aplicativo java ao nosso banco de dados. Java tem sua própria API, a qual JDBC API que usa drivers JDBC para conexões de banco de dados. Antes do JDBC, a API ODBC era usada, mas foi escrita em C, o que significa que era dependente da plataforma. A API JDBC fornece a conexão de aplicativos para JDBC e o driver JDBC fornece uma conexão de gerenciador para driver.
Etapas para conectividade entre o programa Java e o banco de dados
1. Carregando o Driver: Para começar, primeiro você precisa carregar o driver ou registrá-lo antes de usá-lo no programa. O registro deve ser feito uma vez em seu programa. Você pode registrar um motorista de uma das duas maneiras mencionadas abaixo:
- Class.forName(): Aqui carregamos o arquivo de classe do driver na memória durante a execução. Não há necessidade de usar novo ou criação de um objeto. O exemplo a seguir usa Class.forName() para carregar o driver Oracle -
Class.forName(“oracle.jdbc.driver.OracleDriver”);
- DriverManager.registerDriver(): DriverManager é uma classe integrada de Java com um registro de membro estático. Aqui, chamamos o construtor da classe do driver em tempo de compilação. O exemplo a seguir usa DriverManager.registerDriver() para registrar o driver Oracle -
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver())
2. Crie as conexões: Depois de carregar o driver, estabeleça as conexões usando:
Connection con = DriverManager.getConnection(url,user,password)
Usuário : nome de usuário a partir do qual seu prompt de comando SQL pode ser acessado.
Senha: senha a partir da qual seu prompt de comando SQL pode ser acessado.
con: é uma referência à interface de conexão.
url : Localizador Uniforme de Recursos. Ele pode ser criado da seguinte forma:
String url = “ jdbc:oracle:thin:@localhost:1521:xe”
Onde oracle é o banco de dados usado, thin é o driver usado, @localhost é o endereço IP onde o banco de dados está armazenado, 1521 é o número da porta e xe é o provedor de serviços. Todos os 3 parâmetros acima são do tipo String e devem ser declarados pelo programador antes de chamar a função. O uso disso pode ser referido no código final.
3. Crie uma declaração: Uma vez que uma conexão é estabelecida, você pode interagir com o banco de dados. As interfaces JDBCStatement , CallableStatement e PreparedStatement definem os métodos que permitem enviar comandos SQL e receber dados de seu banco de dados.
O uso da declaração JDBC é o seguinte:
Statement st = con.createStatement();
Aqui, con é uma referência à interface de conexão usada na etapa anterior.
4. Execute a consulta: Agora vem a parte mais importante da execução da consulta. A consulta aqui é uma consulta SQL. Agora sabemos que podemos ter vários tipos de consultas. Alguns deles são os seguintes:
- Consulta para atualização / inserção de tabela em um banco de dados.
- Consulta para recuperar dados.
O método executeQuery() da interface Statement é usado para executar consultas de recuperação de valores do banco de dados. Este método retorna o objeto de ResultSet que pode ser usado para obter todos os registros de uma tabela.
O método executeUpdate (consulta SQL) da interface de instrução é usado para executar consultas de atualização / inserção.
Exemplo:
int m = st.executeUpdate(sql); if (m==1) System.out.println("inserted successfully : "+sql); else System.out.println("insertion failed");
Aqui, SQL é uma consulta SQL do tipo String
5. Feche as conexões: Finalmente, enviamos os dados para o local especificado e agora estamos quase concluindo nossa tarefa. Ao fechar a conexão, os objetos de Statement e ResultSet serão fechados automaticamente. O método close() da interface Connection é usado para fechar a conexão.
Exemplo:
con.close();
// Java program to insert records to a table using JDBC
import java.io.*;
import java.sql.*;
public class Database {
// url that points to mysql database, 'db' is database
// name
static final String url
= "jdbc:mysql://localhost:3306/db";
public static void main(String[] args)
throws ClassNotFoundException
{
try {
// this Class.forName() method is user for
// driver registration with name of the driver
// as argument
// we have used MySQL driver
Class.forName("com.mysql.jdbc.Driver");
// getConnection() establishes a connection. It
// takes url that points to your database,
// username and password of MySQL connections as
// arguments
Connection conn = DriverManager.getConnection(
url, "root", "1234");
// create.Statement() creates statement object
// which is responsible for executing queries on
// table
Statement stmt = conn.createStatement();
// executeUpdate() is used for INSERT, UPDATE,
// DELETE statements.It returns number of rows
// affected by the execution of the statement
int result = stmt.executeUpdate(
"insert into student(Id,name,number) values('1','rachel','45')");
// if result is greater than 0, it means values
// has been added
if (result > 0)
System.out.println("successfully inserted");
else
System.out.println(
"unsucessful insertion ");
// closing connection
conn.close();
}
catch (SQLException e) {
System.out.println(e);
}
}
}
Driver, DriverManager(), Connection(), Statement(), Resultset() são classes fornecidas pela API JDBC.
- Se a inserção for bem-sucedida, a saída será: Inserida com sucesso
- Se a inserção não for bem-sucedida, a saída será: inserção malsucedida
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva