Desenvolvimento - Java
Conexão com Oracle no Java dentro do Eclipse
Veja neste artigo, como se conectar no banco de dados Oracle e efetuar uma consulta simples.
por Oscar CasagrandeConexão com Oracle no Java dentro do Eclipse
Retomei meus estudos com Java, e acredito que algo bem simples como se conectar no banco de dados e efetuar uma consulta simples é o mínimo que eu poderia fazer, com a ajuda de um mestre em Java fiz essa pequena classe.
A primeira coisa que fiz foi definir um novo workspace no Eclipse, denominado CRUD como na figura abaixo:
Criei um novo Java Project com o nome CRUD, até aqui a estrutura está assim no Package Explorer
Adicionei um package denominado br.com.crud.acessoDados e adicionei uma classe chamada Principal.java. A estrutura já está assim
A classe está da seguinte forma:
package br.com.crud.acessoDados;
public class Principal {
}
Agora vou criar o método main da maneira mais simples possível. E dentro dele crio um objeto do tipo Connection da biblioteca java.sql com o nome conexao que terá como valor o resultado do método ObterConexao().
public class Principal {
public static void main(String[] args) {
Connection conexao = ObterConexao();
}
}
Agora adicionei o import da biblioteca java.sql, a classe está assim
import java.sql.*;
public class Principal {
public static void main(String[] args) {
Connection conexao = ObterConexao();
}
}
Agora vamos criar o método ObterConexao, ele retornará um objeto do tipo Connection da biblioteca java.sql. Vamos manter o baixo acoplamento com o driver do Oracle nesse método, ao invés de utilizar import do jdbc, vamos passar o driver por uma das sobrecargas que o método getConnection da classe DriverManager tem.
Class.forName("oracle.jdbc.driver.OracleDriver");
conexao = DriverManager.getConnection(
"jdbc:oracle:thin:@host:porta:nome do serviço", "usuário", "senha");
Vanos adicionar agora dois catch para para esse código, um que verificará se a classe de conexão existe e outro que verificará algum erro de SQL.
catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
Nosso método ficará assim
private static Connection ObterConexao() {
Connection conexao = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conexao = DriverManager.getConnection(
"jdbc:oracle:thin:@host:porta:nome do serviço", "usuário", "senha");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conexao;
}
Agora vamos testar nossa conexão e fazer uma query muito simples no Oracle, vamos selecionar a data e hora do banco que será essa:
select sysdate from dual
Para executar essa query temos que utilizar um objeto do tipo Statement, também da biblioteca java.sql, e além dele, vamos utilizar um objeto do tipo ResultSet que representará os dados trazidos pelo Statement. O método main ficará assim no final de tudo:
public static void main(String[] args) throws Exception {
Connection conexao = ObterConexao();
Statement statement = conexao.createStatement();
String query = "SELECT sysdate FROM dual";
ResultSet resultSet = statement.executeQuery(query);
if (resultSet.next()) {
System.out.println(resultSet.getDate("sysdate"));
}
}
Esse é o código completo:
package br.com.crud.acessoDados;
import java.sql.*;
public class Principal {
public static void main(String[] args) throws Exception {
Connection conexao = ObterConexao();
Statement statement = conexao.createStatement();
String query = "SELECT sysdate FROM dual";
ResultSet resultSet = statement.executeQuery(query);
if (resultSet.next()) {
System.out.println(resultSet.getDate("sysdate"));
}
}
private static Connection ObterConexao() {
Connection conexao = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conexao = DriverManager.getConnection(
"jdbc:oracle:thin:@host:pota:nome do serviço", "usuário", "usuário");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conexao;
}
}
Com isso evoluí mais um pouco e espero que ajude a comunidade a evoluir também :).