Ae pessoal, para quem pretende usar DB2 como banco, resolvi montar esse post, para mostrar como conectar Java + DB2. Vejam como é bem simples..
Um ponto importante que nao vou explicar conceitos básicos de DB ou entrar em detalhes do DB2. Apresentarei apenas o necessário para estabelecer uma conexao e armazenar a informação.
Veremos também como criar um DataBase + Table no DB2, nada mais que isso.
lets go…
Recomendação:
Livro IBM – DB2 para desenvolvedores
Série DB2:
Série 1: Instalando/Config – Windows
Série 2: Instalando/Config – Linux
Starting…
-
Com o eclipse aberto, crie um project – Java Project
-
Crie um package br.com.conexao
-
Agora crie uma classe Db2Test e marque a opção que teremos o método main
-
Vamos adicionar dois arquivos .jars no projeto. Para isso clique com o botao direito sobre o projeto ==> properties ==> a esquerda escolha Java Build==> clique em Libraries na aba e depois ==>Add external jars
-
Vá no diretorio onde o DB2 foi instalado (no meu caso C : \ Arquivosde programa\IBM\SQLLIB\java ) e adicione os jars abaixo ao projeto:
db2jcc.jar e db2jcc_license_cu.jar
-
Se você fez a instalacao padrao abra o DB2 Control Center, use o monitor proximo ao relógio do Windows para abri-lo
-
Ao abrir o DB2 se aparecer um mensagem pedindo o modo de trabalho, escolha avançado.
-
Agora vamos criar o DataBase. Clique com o botao direito “All DataBases” e escolha ==> Create DataBase => Standard.
-
Agora preencha os dados conforme abaixo:
-
clique em next até finish.
-
Agora clique com o botao direito sobre o BD e escolha authorities. E adicione o usuario com as permissoes devidas para esse BD. Veja como ficou o meu. Adicione o usuario db2admin. E dei grant All.
-
Expanda o DB criado clicando no sinal + e depois clique na pasta Table. Agora clique em Create new
-
Na próxima tela crie uma tabela(chamei de Lopes). Nesse exemplo vamos ter apenas um campo chamado nome. Fique a vontade de criar mais campos, porem eles devem constar no seu codigo Java.
-
Pronto agora vamos programar… voltando ao eclipse, Crie uma classe chamada DB2Test dentro do package conexao
Obs.: Nesse momento nao vamos seguir nenhum padrão de desenvolvimento, o foco é obter uma conexao e inserir uma informacao no DB2.
package br.com.conexao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.util.Properties; public class Db2Test { public static void main(String[] args) throws Exception { String sql = ""; final String url = "jdbc:db2://localhost:50000/camilo";//database Properties connectProperties = new Properties(); connectProperties.put("user", "db2admin");//user com permissao grant all connectProperties.put("password", "camilo2593"); Connection connection = null; try { Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance(); //obtendo a conexao connection = DriverManager.getConnection(url,connectProperties); System.out.println("connected");//sera impresso se ocorrer tudo bem } catch (Exception e){ throw e;//so vai rolar em caso de nao dar certo } try{ Statement st = connection.createStatement(); //para ver os schema para cada DB clique na pasta Schema sql +="insert into CAMILO.LOPES(NOME)";//schema + table sql +="values('Arac')"; st.executeUpdate(sql); }catch (Exception e) {throw e; } connection.close();} }
- Crie a classe de conexao
import java.sql.Connection; public class Conexao { public static Connection getConectar(){ try{ Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance(); System.out.println("conectando db2"); Connection c = DriverManager.getConnection("jdbc:db2://localhost:50000/UESBB", "db2admin", "123"); System.out.println("conexao feita com sucesso"); return c; }catch (NoClassDefFoundError e) { throw new SQLException(e.getMessage()); } } }
-
Compile e execute o code.
-
Agora dê dois cliques na tabela para visualizar se foi inserido corretamente.
note: Estou usando Statement, e nao estou evitando o sql injection, bom quis apenas mostrar a conexao de Java com Db2. Estou preparando um post para discutirmos o sql injection. Entao nao quis me aprofundar muito aos detalhes desse post.E vou deixar o assunto para outro momento 🙂
Simples nao? Bom espero que tenham gostado do post. O objetivo maior era mostrar a conexao Java com outro BD nao tão popular para os iniciantes. Ae pessoal, abaixo tem um link pra vcs votarem no nosso blog.
. |
Abraço até a próxima… e agradeco pelo voto daqueles que puderam ajudar .