7

Click here to load reader

Conectando seu banco de dados usando jdbc

Embed Size (px)

Citation preview

Page 1: Conectando seu banco de dados usando jdbc

Conectando seu banco de

dados usando JDBC

Este post mergulha usando o driver (s) Progress JDBC para se

conectar a vários bancos de dados usando Java e programação

JDBC padrão.

No primeiro tutorial da série, vamos mostrar-lhe como você pode

usar os drivers Progress DataDirect JDBC em seu aplicativo Java

para se conectar ao seu banco de dados.

drivers JDBC são a forma mais convencional de que muitos

desenvolvedores usam para se conectar a bancos de dados de seus

aplicativos Java. Esses drivers, uma vez principalmente

disponíveis para bancos de dados relacionais, estão agora

disponíveis para quase qualquer tipo de fonte de dados, tais como

Big Data, NoSQL, e SaaS.

Mesmo com todos esses diferentes tipos de fontes de dados, ainda

é fácil de conectar e trabalhar com eles usando drivers Progress

DataDirect JDBC. Para demonstrar isso, temos um planejado um

"JDBC - Revisited" tutorial série de três partes, que abrange

vários conceitos de criar uma ligação, a execução de consultas

simples, extraindo metadados e recursos de interoperabilidade DB

de motoristas DataDirect.

No primeiro tutorial da série, vamos mostrar-lhe como você pode

usar os drivers Progress DataDirect JDBC em seu aplicativo Java

para se conectar ao seu banco de dados. Os principais objectivos

deste tutorial são demonstrar:

1. Ligação à fonte de dados usando JDBC.

2. Executando consultas SQL simples para buscar dados.

Page 2: Conectando seu banco de dados usando jdbc

Para o propósito deste tutorial, vamos estar usando um banco de

dados relacional (Postgres) e fonte de dados SaaS (Salesforce)

como nossas fontes de dados. O objetivo é demonstrar a

simplicidade de nossos motoristas Progress DataDirectJDBC para

Postgres e Salesforce para conectar e recuperar os dados,

independentemente do tipo de fonte de dados.

Pré-requisitos

Esperamos que você tem a seguinte configuração antes de

prosseguir com este tutorial.

1. Ter Postgres instalado em sua máquina / servidor.

2. Ter uma conta Salesforce. No caso de você não tiver um,

inscreva-se para um.

3. Faça o download e instalar os drivers Progress DataDirect

JDBC para PostgreSQL e Salesforce.

Se você estiver interessado em se conectar a apenas uma fonte de

dados, então você só precisa configurar um destes.

Importação de banco de dados de

exemplo em Postgres 1. Se você precisa de dados para o seu Postgres, você pode baixar

o exemplo banco de dados de aluguel de DVD e importá-lo. Para

importar o banco de dados exemplo, criar um banco de dados

Postgres, executando o seguinte comando, quer em psql ou

pgAdmin. criar dvdrentals de banco de dados;

2. Agora, execute o seguinte comando para importar o banco de

dados a partir do backup do banco de dados transferidos.

pg_restore -U -d dvdrentals /path/to/dvdrental.tar.

Conectando-se a sua fonte de dados

Page 3: Conectando seu banco de dados usando jdbc

Com tudo configurado para você se conectar ao banco de dados,

vamos começar a diversão escrevendo código para se conectar à

fonte de dados.

• Abra o seu IDE favorito e crie um novo projeto Java.

A próxima coisa importante será adicionar os drivers JDBC no

caminho de construção do projeto.

1. Para fazer isso no eclipse, clique com o botão direito sobre o

Projeto no Package Explorer -> Caminho de Construção ->

Adicionar Arquivo externas. Localize o arquivo JAR do driver

JDBC e pressione Abrir.

2. Para fazer isso no IntelliJ, clique direito em pasta do projeto ->

configurações do módulo Open, isso deve abrir uma nova janela.

Ir para bibliotecas sob Configurações do projeto e clique em

Adicionar para localizar e adicionar os arquivos JDBC jar para o

projeto.

3. Para se conectar a um banco de dados usando JDBC, primeiro

precisamos carregar o driver JDBC na memória e usar o

DriverManager para obter uma conexão com banco de dados. O

código para demonstrar este como se segue:

public class JDBCUtil {

String className, URL, user, password;

Connection connection;

public JDBCUtil(String className, String URL, String user, String

password) {

this.className = className;

this.URL = URL;

this.user = user;

this.password = password;

this.connection = null;

}

public void getConnection() {

//Load the driver class

try {

Class.forName(className);

} catch (ClassNotFoundException ex) {

Page 4: Conectando seu banco de dados usando jdbc

System.out.println("Unable to load the class. Terminating

the program");

System.exit(-1);

}

//get the connection

try {

connection = DriverManager.getConnection(URL, user, passwo

rd);

} catch (SQLException ex) {

System.out.println("Error getting connection: " + ex.getMe

ssage());

System.exit(-1);

} catch (Exception ex) {

System.out.println("Error: " + ex.getMessage());

System.exit(-1);

}

}

}

1. As coisas importantes a observar aqui seria o lineClass.forName

(className), que é responsável por carregar o driver para a memória.

2. A próxima coisa importante é a conexão da linha =

DriverManager.getConnection (URL, usuário, senha). Esta linha

começa realmente a conexão com o banco de dados se todos os

parâmetros estão configurados corretamente e armazena na

objeto de conexão que pode ser usado mais tarde para executar consultas.

3. Agora vamos falar sobre os parâmetros que nós passamos para os dois passos acima.

1. Para carregar a classe, estamos passando className para que o

motorista pode ser carregado na memória. Cada driver JDBC tem

um className único, e uma vez que estamos carregando o driver

Progress DataDirect Postgres, você pode inicializar a propriedade

className na classe JDBCUtil com nome de classe do motorista

do com.ddtek.jdbc.postgresql.PostgreSQLdriver.

2. O próximo valor importante que você teria que passar para

obter uma conexão de DriverManager seria o JDBC URL. Cada

banco de dados tem uma forma única de configurar o URL, e para

o motorista Progress DataDirect Postgres JDBC seria no formato

Page 5: Conectando seu banco de dados usando jdbc

de jdbc: DataDirect: postgresql: // <nome do host>: <pós>;

DatabaseName = <banco de dados Name>

3. Os outros valores que você passa para

DriverManager.getConnection () método seria o nome de usuário

e senha para o seu banco de dados. Se todos estes valores são

perfeitamente configurado, você receberá de volta um objeto de conexão ou você receberá uma exceção.

4. Para ligar a Salesforce, você apenas muda o className para

com.ddtek.jdbc.sforce.SForceDriver eo JDBC URL para o que

seria, no formato de jdbc: DataDirect: sforce: // <hostname>;

SecurityToken = <token de >. Com tais mudanças mínimas, você

pode se conectar a Salesforce facilmente. Nota: Um token de

segurança não é necessária quando Salesforce foi configurado

para intervalos de IP confiáveis e que o usuário está efetuando login a partir de um endereço IP confiável.

Executando consultas SQL simples

1. Agora que temos criado uma conexão com o banco de dados,

podemos executar consultas SQL com a sua ajuda. Aqui está um

código de exemplo para demonstrar a execução de consulta SQL e imprimi-lo para o console:

public void executeQuery(String query)

{

ResultSet resultSet = null;

try

{

//executing query

Statement stmt = connection.createStatement();

resultSet = stmt.executeQuery(query);

//Get Number of columns

ResultSetMetaData metaData = resultSet.getMetaData();

int columnsNumber = metaData.getColumnCount();

//Printing the results

while(resultSet.next())

{

for(int i = 1; i <= columnsNumber; i++)

{

System.out.printf("%-25s", (resultSet.getObject(i) !=

null)?resultSet.getObject(i).toString(): null );

}

Page 6: Conectando seu banco de dados usando jdbc

}

}

catch (SQLException ex)

{

System.out.println("Exception while executing statement. Termi

nating program... " + ex.getMessage());

}

catch (Exception ex)

{

System.out.println("General exception while executing query. T

erminating the program..." + ex.getMessage());

}

}

1. 1. As coisas importantes para observar são

connection.createStatement () e stmt.executeQuery (query).

O método createStatement () cria um objeto Statement para

enviar instruções SQL para seu banco de dados e

executeQuery (query) executa sua consulta SQL e retorna

um objeto ResultSet.

2. 2. Para imprimir os valores no conjunto de resultados,

obtemos o número de colunas para a tabela primeiro usando

ResultSetMetaData - você vai saber mais sobre isso na

próxima parte desta série tutorial. Em seguida, percorrer

cada linha que começa a partir do ResultSet e imprimir os

valores para o console. Abaixo está uma imagem dos

resultados de uma consulta simples que eu corri contra o

Page 7: Conectando seu banco de dados usando jdbc

Salesforce para sua referência:

Fácil Conexão e Execução Espero que este tutorial ajudou a entender como é fácil se

conectar ao seu banco de dados e executar consultas SQL simples

em Java usando drivers Progress DataDirect JDBC. Além disso, eu

ter empurrado o código que é usado neste tutorial para o GitHub

para sua referência. Se você ainda tiver quaisquer problemas de

conexão com o banco de dados usando drivers Progress

DataDirect JDBC, deixe seus comentários abaixo ou contacte o

suporte.

Na próxima parte deste "JDBC - Revisited" série tutorial, vamos

mostrar-lhe como obter os metadados de seus bancos de dados

usando JDBC. Assine o nosso blog via e-mail ou feed RSS para atualizações para esta série de tutoriais.