JSF + Hibernate + MySql no Eclipse

stressprogrammer

opa!Pessoal!! Cansado de fazer um CRUD manualmente usando o padrão DAO? É porque você precisa conhecer o Hibernate.
No post de hoje vamos criar uma persistencia de dados usando framework Hibernate no Eclipse tendo o framework JSF como view. Vejam que não é tão complicado assim, o chato é configurar o hibernate no Eclipse, ao contrário do NetBeans que ja traz tudo pre-configurado e não precisa fazer muita coisa para Hibernate funcionar. Mas, como todos nos sabemos que bons programadores,desenvolvedores, etc. não ficam refém das pre-configurações de uma IDE. E isso é uma vantagem do velho e famoso Eclipse, por não contribuir para esse fim, ou seja, você usa o Eclipse por gostar dele e nao por ele fazer as coisas por você ;).
Lets go…

Sobre Aplicação

Bem, a ideia aqui é apresentar a vantagem de usar o framework Hibernate para persistência de dados, entao vamos fazer uma aplicação bem simples e ficaremos mais focado na parte do Hibernate. A nossa aplicação tem a função de gravar o nome de um visitante em um base de dados(MySQL).

Sobre o Hibernate – para não duplicar o que ja tem na net, lá vai a “reutilização da informação” 😉 O que é hibernate?

Download Hibernate – ponto importante, nesse final de semana fiquei tentando colocar a ultima versão do hibernate para funcionar porem nao tive sucesso, com a ultima versão, veio faltando uns .jars e até agora não descobrir o motivo, estou pesquisando e verificando se não é um problema local na hora de descompactar o pacote. Em função disso usei uma versão mais antiga a 3.2.1.ga e no link acima disponibilizei apenas os .jars do hibernate da versao que está sendo utilizado nesse post.

Download Hibernate versão 3.3.2.GA – essa eh a ultima versão que consta no site Hibernate.org neste momento que escrevo o post. Porém, nao estamos usando ela.

Requisitos:
Eclipse Galileo (versão em uso para este post)
JDK 1.5
Hibernate 3.2.1 (versão em uso para este post)
Jboos tools no Eclipse
MySql (vamos considerar que criou o DataBase e Table no BD)
TomCat 5.5/Superior

Alguns problemas:
Para adiantar, identifiquei alguns “problemas” que podem tirar você do sério. Quando você cria um Library no Eclipse e add este ao seu projeto, os arquivos .jars não vão para a pasta lib. E se vc tentar adicionar .jars diretamente ao projeto este também não vai parar no diretorio lib do projeto. Não sei porque o Eclipse não faz isso, desde do dynamic web project há este problema. Em função disso é necessário copiar os .jars do Hibernate para a pasta lib do seu projeto. Abaixo uma imagem dos .jars necessário para que o hibernate funcione. Não esqueça do arquivo .jar do MySql na pasta lib do projeto.

Iniciando

1.crie um projeto JSF PROJECT
2.Agora crie uma página index.jsp com o código a seguir

3.crie uma pagina sucesso.jsp com o código abaixo.

< f:view>

< h:outputText value=“Visitante, cadastrado com sucesso!”/>

< /f:view>

4.Crie uma estrutura conforme abaixo no seu projeto. A seguir vamos apresentar os codes de cada classe, não se preocupe.

5.Agora vamos criar os arquivos de configuração e conexao com o BD via Hibernate. Para isso crie dois arquivos no formato .xml (hibernate.cfg.xml e visitantes.hbm.xml), estes devem estrar dentro de Source. Sua estrutura deve estar conforme abaixo:

Pronto, terminamos a configuração do ambiente de desenvolvimento, agora vamos a parte mais interessante.

Desenvolvimento
1.precisamos criar um Bean para nossa aplicação, então abra o arquivo Visitante.java e deixe conforme o code a seguir:

public class Visitante {
private String nome;
private int id;
public int getId() {
return id;}
public void setId(int id) {
this.id = id;}
public String getNome() {
return nome;}
public void setNome(String nome) {
this.nome = nome;}}

2.Agora vamos criar o controlador JSF para isso abra o arquivo VisitanteControler.java e deixe conforme o code abaixo:

import br.com.bean.Visitante;
import br.com.dao.InterfaceDAO;
import br.com.dao.VisitanteDAO;
//classe controladora JSF
public class VisitanteControler {
private Visitante visitante;
public VisitanteControler() {
visitante  = new Visitante();	}
public Visitante getVisitante() {
return visitante;	}
public void setVisitante(Visitante visitante) {
this.visitante = visitante;}
public String salvar(){
InterfaceDAO visitantedao = new VisitanteDAO();
visitantedao.salvar(visitante);
return "salvar";}}

3.O objetivo agora é configurar e fazer o mapeamento com Hibernate. Para isso atualize o arquivo hibernate.cfg.xml conforme o codigo a seguir:

    <?xml version=“1.0” encoding=“UTF-8”?>

<!DOCTYPE hibernate-configuration PUBLIC

“-//Hibernate/Hibernate Configuration DTD 3.0//EN”

“http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd” >

<!– CONFIGURANDO O HIbernate –>

<hibernate-configuration>

<session-factory>

<property name=“hibernate.connection.driver_class”>org.gjt.mm.mysql.Driver</property>

<property name=“hibernate.connection.url”>jdbc:mysql://localhost/livraria</property>

<property name=“hibernate.connection.username”>camilo</property>

<property name=“hibernate.connection.password”>integrator</property>

<!– USADO PELO HIBERNATE PARA SE COMUNICAR COM O BD –>

<property name=“hibernate.dialect”>org.hibernate.dialect.MySQLDialect</property>

<mapping resource=“visitantes.hbm.xml”/> <!– pega a tabela –>

</session-factory>

</hibernate-configuration>

 

4.Agora atualize o arquivo visitantes.hbm.xml

< hibernate-mapping>

<!– INFORMANDO O LOCAL DO BEAN E O NOME DA TABELA NO BD –>

<class name=“br.com.bean.Visitante” table=“visitante”>

<!– CHAVE PRIMARIA DA TABELA –>

<id column=“id” name=“id” type=“integer”>

<generator class=“assigned”/>

</id>

<property column=“nome” name=“nome” type=“string”/>

</class>

</hibernate-mapping>

5.Abra o arquivo ConexaoHi.java e insira os codigos a seguir:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
//classe que conecta ao Hibernate
public class ConexaoHi {
//variavel que armazena os mapeamentos e configuracoes do Hibernate
private static final SessionFactory sessionFactory;
private static final ThreadLocal threadlocal = new ThreadLocal();
static{
try{
sessionFactory = new Configuration()
.configure("hibernate.cfg.xml")
.buildSessionFactory();
/*recebemos a configuracao do arquivo hibernate.cfg.xml que possui
*dados da conexao
* chamamos o metodo buildSessionFactory que retorna um objeto
* session, que estabelece uma sessao de comunicacao com o BD
* atraves de uma conexao JDBC */
}catch (Throwable e) {
throw new ExceptionInInitializerError(e);}
}
/* esse metodo associada cada sessao a um objeto, permitindo que
 * cada sessao abra um processo concorrente  */
public static Session getInstance(){
Session session = (Session) threadlocal.get();
session = sessionFactory.openSession();
threadlocal.set(session);
return session;}}

6.Atualize o arquivo VisitanteDAO.java

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import br.com.bean.Visitante;
import br.com.util.ConexaoHi;
//com hibernate
public class VisitanteDAO implements InterfaceDAO {
private Session session;
//metodo responsavel por salvar os dados no BD
public void salvar(Visitante visitante){
session = ConexaoHi.getInstance();//cria uma sessao
Transaction tx = null; //permite transacoes no BD
try{
tx = session.beginTransaction();
session.save(visitante);//grava no BD
tx.commit();//transacao efetuada
}catch (HibernateException e) {
System.out.println("deu merda aqui");
e.printStackTrace();
//tem o objetivo de desfazer a transcao em caso de erro
tx.rollback();
}finally{
session.close();}}}

7.Seu arquivo InterfaceDAO.java deve estar assim:

import br.com.bean.Visitante;
public interface InterfaceDAO {
public abstract void salvar(Visitante visitante);
}

8.Não podemos esquecer de configurar o arquivo faces-config.xml, para isso deixe conforme o code a seguir :

  visitanteControler
  br.com.controller.VisitanteControler
  session

  /form.jsp

   salvar
   /sucesso.jsp

9.Agora atualize os arquivos .jsp, começando pelo form.jsp

Pronto, terminamos o desenvolvimento, chegou a hora de testar…

Testando
1.para testar aplicação clique com o botão direto em cima do projeto e escolha Run As – Run on Server.
2.Aguarde o browser interno do eclipse seja carregado (por padrão será ele). E você verá a seguinte tela:

3.Cadastre um visitante


4.Verificando visitante no BD


Vou ficando por aqui e espero que vocês tenham gostado do post. Um pouco grande, porem bastante produtivo. Vejam a essencia e as vantagens de usar um framework como Hibernate para persistência de dados.
Abracos e até o proximo post…

Por que usar DB2 IBM?

olá Pessoal,

Recebi alguns emails, perguntando “por que usar db2?”. Realmente, excelente pergunta. Por que usar DB2 se temos outros BD mais tradicionais como MySql, PostGree etc. Sendo assim, resolvi montar esse post, explicando porque médias/grandes corporações usam DB2 e as oportunidades disponiveis no mercado para quem conhece a tecnologia.

Lets go…

Série DB2 IBM:

Série 1 DB2 – Instalando/conf ig- Windows

Série 2 DB2 – instalando/config – Linux

Série 3 DB2 – JEE + DB2

Série 4 DB2 – Java + DB2

Link destaque: Gostaria de destacar o post abaixo, escrito pelo meu amigo Juliano, sobre DB2, vejam:

Aprenda DB2, um dos bancos que mais cresce no mercado!

IBM DB2 Express C

O DB2 Express-C faz parte da poderosa família de produtos IBM DB2 para gerenciamento de dados relacionais e no formato XML. O DB2 Express-C é um software grátis, “sem limites” e fácil de ser utilizado. A letra ‘C’ no nome DB2 Express-C significa Comunidade.

O DB2 Express-C utiliza a mesma funcionalidade principal e o mesmo código fonte de outras edições do DB2 para Linux, UNIX, e Windows. O DB2 Express-C pode ser utilizado em sistemas 32-bit ou 64-bit em sistemas operacionais Linux ou Windows. Ele pode rodar em sistemas com qualquer quantidade de processadores e memória e não tem nenhum requisito especial de armazenamento ou setup do sistema. O DB2 Express-C também inclui o padrão pureXML sem nenhum custo. O padrão pureXML é uma tecnologia única do DB2 para armazenar e processar documentos XML nativo.

A IBM desenvolveu a versão gratuita utilizando os recursos de sua versão paga o DB2 UDB Express com uma configuração de pacote menor, uma vantagem que o DB2 Express-C pode oferecer é realizar a migração do seu banco de dados para qualquer outra versão sem a necessidade da paralisar o aplicativo, deixando o aplicativo 100% operante utilizando uma outra tecnologia de banco de dados.

Com o DB2 Express-C você pode encontrar estabilidade e flexibilidade nos diferentes sistemas operacionais e uma gama de aplicativos para gerenciar de modo ágil e fácil todos os banco de dados DB2.

As limitações do DB2 são diferenciadas e mais poderosas como podemos observar abaixo:

LIMITAÇÃO

  • Capacidade de Armazenamento: Ilimitada
  • Processadores: 2 Processadores
  • Memória: 4 GB
  • Sistema Operacional: Linux ou Windows

O suporte às mais variadas linguagens de programação e as poucas restrições impostas aos seus recursos tornam mais fortes o seu poder de competição no mercado e um objeto de desejo entre os desenvolvedores, abaixo podemos analisar o que o DB2 Express-C pode nos proporcionar:

RECURSOS SUPORTADOS

  • Suporte XML
  • Suporte .NET
  • C/C++
  • Java
  • PHP
  • Suporte a Unix
  • Web Services
  • ADO e ADO.NET
  • SQLJ
  • SQL Embutido
  • Gerenciamento Autônomo
  • WebSphere Studio Application Developer

Alguns profissionais DB2 chamam o DB2 Express-C de um pequeno DB2 UDB Express, pelo motivo que quase todos os recursos são encontrados nessa versão, com exceção dos recursos abaixo:

RECURSOS NÃO SUPORTADOS

  • Warehouse Manager tools & servers
  • Extender support
  • DB2 Connect support
  • Informix Data Source Replication
  • Replication Data Capture
  • APPC
  • Netbios
  • Database Partitioning Feature
  • Connection Concentrator
  • DB2 Geodetic Extender
  • Query Patroller
  • Net Search Extender
  • pureXML
  • DB2 Web tools
  • Spatial Extender Client and Samples
  • Microsoft Cluster Server support

Outros pontos devem ressaltar quando pensarmos em utilizar o produto em seus projetos, que podem futuramente trazer beneficios ou problemas:

  • Pouca documentação sobre o banco de dados.
  • Integração com todos os outros aplicativos do fabricante.
  • Possibilidade de adquirir recursos extras, conforme a necessidade do aplicativo.
  • Estabilidade, confiabilidade e segurança aos desenvolvedores.

Custos

Como não há necessidade de adquirir licenças com o DB2 C, seu custo fica praticamente zero, é o caso quando se utiliza bancos de dados como MySQL, Firebird e PostGree.

Claro que há custos envolvidos no DB2 como qualquer outro bom BD, sendo assim um profissional que utilizar um Oracle, SQL Server ou DB2, pode envolver custos que estar embutidos na compra de máquinas mais poderosas, mão-de-obra qualificada e aquisição de recursos ou serviços extras fornecidos pelo fabricante. Porém os resultados obtidos com o investimento são diferentes.

Portanto, antes de querer implantar algum banco de dados, veja a real necessidade do seu aplicativo e analise todas as funcionalidades que cada versão pode lhe oferecer para não ter arrependimento posteriormente. Eles realmente são capazes de trazer muitas melhorias e total estabilidade ao seu aplicativo, mas sempre é bom ter cautela, pois investimentos exige isso.

Download

Biblioteca Técnica

Como as versões dos poderosos bancos de dados gratuitos são muito recentes, encontrar e trocar informações sobre os produtos é muito difícil, então, abaixo segue uma relação de sites e fórum que possuem dicas, artigos técnicos e troca de experiências entre os profissionais.

Oportunidades

Fiz uma pequena pesquisa no catho sobre vagas de profissionais em DB2 e o resultado foi de esperar. Muitas vagas para profissionais qualificado, veja na imagem a seguir o resultado de quantas oportunidades há apenas no catho. E olha que não usei muito a ferramenta de busca.

DB2VAGAS

Outro detalhe para quem não sabe, é que há muitas vagas para Desenvolver Java que exige conhecimento em DB2 por exemplo, vejo sempre esse tipo de vaga em empresas grandes não IBM. Então o que digo sempre que o profissional de hoje não é mais avaliado primeiramente pelo numero de frameworks, tecnologias, mas por saber bem, ou ser um especialista na tecnologia certa que o mercado pede. O segredo está em escutar todos os dias os sinais do mercado, para nao perder tempo estudando o que não traz retorno de imediato.

Espero que tenham gostado desse post e acredito que agora ficou um pouco mais claro sobre a essencia do DB2 no mercado corporativo.

Abracos e até o próximo post.

Ajude nosso blog crescer e vote :

Top30 Brasil - Vote neste site!.

Série DB2 IBM:JEE + DB2

olá pessoal, chegamos a ultima série DB2, hoje veremos como fazer uma simples aplicação JEE e gravar as informações através de um formulário no DB2. É importante ler “posts recomendados” em caso de dúvidas de algo que nao for explicado nesse post.

Para quem está iniciando em JEE e tem curiosidade em aprender a usar outro DB, pode ser uma boa oportunidade. Ahh, nao posso esquecer, algumas explicações estão dentro dos comentários. E o objetivo deste post é auxiliar quem dar dano os primeiros pasos na plataforma JEE.

Lets go…

Posts Recomendados

Série 1: Instalando/Config – Windows

Série 2: Instalando/Config – Linux

Série Db2: Conexão DB2 + Java – Eclipse

Criando um Dynamic web project

JEE + Conexão BD – Eclipse

Iniciando…

  • Primeiro passo é criar um Dynamic Web Project(se nao sabe veja no post recomendado acima)
  • Uma vez criado o projeto, crie uma pagina .jsp chamada de index. Se seguir o modo padrão do Eclipse vc deve ter uma pasta chamada WebContent na estrutura do projeto JEE.
  • Agora vamos criar um formulario que vai cadastrar um novo usuario no sistema. Para isso digite o codigo abaixo:

Nome: Usuario: Senha:

Passo 2

Nessa parte aqui vamos criar o DAO,o Servlet, JavaBeans e estabelecer a conexao com o BD2.

Estabelecendo a conexao

  1. para estabelecer a conexao, precisamos criar uma class Java. Para isso crie um um package chamado “br.com.conexao” e a classe conforme abaixo:

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class ConexaoFactory {
    
    public static Connection getConexao() throws Exception{
    try{
    Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
    System.out.println("conectando db2");
    Connection c = DriverManager.getConnection("jdbc:db2://localhost:50000/USUARIO","db2admin", "123");
    //informei o database apos a porta
    System.out.println("that's right");
    return c;
    }catch (NoClassDefFoundError e) {
    throw new SQLException(e.getMessage());
    }}}
  1. Criando o JavaBean, crie um package br.com.bean e nesse pacote crie uma classe chamada de Funcionario conforme abaixo:

    package br.com.bean;
    
    public class Funcionario {
    private int id;
    private String nome;
    private String usuario;
    private String senha;
    
    public Funcionario(int id, String nome, String usuario, String senha) {
    super();
    this.id = id;
    this.nome = nome;
    this.usuario = usuario;
    this.senha = senha;
    }
    
    public Funcionario() {
    super();
    	}
    
    public int getId() {
    return id;
    }
    public void setId(int id) {
    this.id = id;
    }
    public String getNome() {
    return nome;
    }
    public void setNome(String nome) {
    this.nome = nome;
    }
    public String getUsuario() {
    return usuario;
    }
    public void setUsuario(String usuario) {
    this.usuario = usuario;
    }
    public String getSenha() {
    return senha;
    }
    public void setSenha(String senha) {
    this.senha = senha;
    }}
    1. Seu JavaBean representa a sua table lá no BD, observe que eh a tabela que temos no BD, alias que vamos criar mais lá na frente.

    2. Precisamos criar uma classe que implementa a interface DAO, que terá os codigos sql Crie uma classe conforme abaixo:(nao se preocupe, lá na frente vamos criar a interface)

       package br.com.dao;
      
      import java.sql.Connection;
      import java.sql.PreparedStatement;
      import java.sql.ResultSet;
      import java.sql.SQLException;
      import java.util.ArrayList;
      import java.util.List;
      
      import br.com.bean.Funcionario;
      import br.com.conexao.ConexaoFactory;
      
      public class FuncionarioDAO implements DAO {
      
      private Connection conn=null;
      
      public FuncionarioDAO() throws Exception {
      //estabelecendo a conexao quando o construtor rodar
      conn = ConexaoFactory.getConexao();
      }
      
      //o metodo que recebe um objeto para acessar o JavaBean
      public void salvar(Funcionario funcionario) throws Exception{
      Connection con;
      try{
      String sql = "insert into CAMILO.funcionario (nome,usuario,senha)" + "values(?,?,?)";
      con = conn;
      //usando PreparedStatement para evitar SQL Injection
      PreparedStatement ps = con.prepareStatement(sql);
      ps.setString(1, funcionario.getNome());//acessando o JavaBean para obter o nome
      ps.setString(2, funcionario.getUsuario());
      ps.setString(3, funcionario.getSenha());
      ps.execute();//executa o comando sql
      //isso sai no prompt somente para eu estar certo que está tudo bem
      System.out.println("funcionário cadastrado com sucesso");
      }catch (Exception e) {
      }finally{
      conn.close();//fechando a conexao
      }}}

    • Para isso crie uma interface conforme abaixo e chame ela de DAO. (nao esqueça de criar o package)
    package br.com.dao;
    
    import br.com.bean.Funcionario;
    
    public interface DAO {
    
    public abstract void salvar(Funcionario funcionario) throws Exception;
    
    }
    }}
    1. Crie um Servlet que tenha apenas o método service e dentro do metodo service, implemten o código a seguir:

    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    String nome = request.getParameter("nome");
    String senha = request.getParameter("senha");
    String usuario = request.getParameter("usuario");
    Funcionario funcionario = new Funcionario();
    funcionario.setNome(nome);
    funcionario.setSenha(senha);
    funcionario.setUsuario(usuario);
    
    try {
    FuncionarioDAO fdao = new FuncionarioDAO();
    fdao.salvar(funcionario);
    //pessima pratica isso aqui misturar servlet + html, mas nao vem ao caso agora
    
    out.println("");
    out.println("Cadastro realizado com sucesso");
    out.println("");
    } catch (Exception e) {
    throw new ServletException(e);
    
    }	}
    • Vamos testar o que ja foi feito ate aqui, portanto clique com o botao direito em cima do projeto e escolha ==> Run AS ==> Run on Server. E aguarde a pagina index.jsp ser carregada.

    Criando Table DB2

    Precisamos criar uma tabela, portanto crie uma tabela conforme abaixo e nao esqueça de dar permissao para o usuario db2admin poder manipular esta tabela. Se nao sabe como veja nesse post como fazer:Série Db2: Conexão DB2 + Java – Eclipse

    Testando Aplicacao com BD2

    Para testar aplicação eh simples, clique no projeto e depois aperte ctrl + F11, escolha o servidor de aplicação e clique em finish. (se preferir va em Run As ==> Run on server)

    • Voce agora deve ter a página index.jsp conforme a imagem a seguir:

    • Cadastre um usuario conforme abaixo:

    • Apos clicar em cadastrar vc deve obter a tela conforme a seguir:

    Preste atenção no prompt. Temos os println() apenas como informação, isso nao vai para o browser, até pq nao faria sentindo se fosse.

    Pessoal, espero que tenham gostado dessa série DB2, o objetivo era apresentar o Banco de Dados da IBM e sairmos de usar “feijão com arroz” quando se fala em banco de dados(mysql, postgre etc). Espero tenham gostando do novo endereço do blog.

    Abraco, e até o próximo post…

    Não esquecam de votar em nosso blog no

    Top30 Brasil - Vote neste site!.

Série III Db2: Conexão DB2 + Java – Eclipse

DB

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

Oracle x IBM x MS DB

Série DB2:

Série 1: Instalando/Config – Windows

Série 2: Instalando/Config – Linux

Starting…

  1. Com o eclipse aberto, crie um project – Java Project

  2. Crie um package br.com.conexao

  3. Agora crie uma classe Db2Test e marque a opção que teremos o método main

  4. 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
    db2javabuild

  5. 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

  6. Se você fez a instalacao padrao abra o DB2 Control Center, use o monitor proximo ao relógio do Windows para abri-lo

    DB2img2

  7. Ao abrir o DB2 se aparecer um mensagem pedindo o modo de trabalho, escolha avançado.

  8. Agora vamos criar o DataBase. Clique com o botao direito “All DataBases” e escolha ==> Create DataBase => Standard.

  9. Agora preencha os dados conforme abaixo:

    db2img3

  10. clique em next até finish.

  11. 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.

    db2img4

  12. Expanda o DB criado clicando no sinal + e depois clique na pasta Table. Agora clique em Create new

    db2img5

  13. 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.

  14. 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();}
    }
  15. 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());
    }
    }
    }
  16. Compile e execute o code.

  17. Agora dê dois cliques na tabela para visualizar se foi inserido corretamente.

    db2img7

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.

Top30 Brasil - Vote neste site!.

Abraço até a próxima… e agradeco  pelo voto daqueles que puderam ajudar .

Série 2 DB2: Install/config no Linux

olá Pessoal, nesse segundo post da série DB2 irei mostrar como instalar e configurar o DB2 Express C em ambiente Linux. No primeiro post vimos como fazer isso no Windows, mas sabemos que nem todos profissionais IT usa Windows como default O.S.

Lets go..

Outros Posts da Série:

Série 1 DB2 – install/config db2 – Windows

1. Apos ter feito o download copie o arquivo como o usuario root (sudo -i)para o pacote /opt ou outro que desejar.

root@camilo-desktop:~# cp <download folder>/db2exc_970_LNX_x86.tar.gz /opt/

2. descompacte o arquivo com o comando abaixo

tar -xvf db2exc_970_LNX_x86.tar.gz

3. Se você descompactou o arquivo na pasta /opt será criado uma pasta chamada /opt/expc. Entre nessa pasta com o comando cd /opt/expc e execute o comando abaixo, para iniciar a instalação.

./db2setup

4. Voce vai obter a tela conforme a imagem a seguir:

db2unix15.No menu clique em Install a Product e na proxima tela click em Install new

db2unix26.Clique em next

7.Aceita a licença e clique em next

db2unix38.Escolha o tipo da instalação, vamos usar typical

db2unix49.Selecione agora a primeira opcao “Install DB2-C on this computer

db2unix510.A proxima tela devemos escolher onde o DB2 deve ser instalado. O caminho padrao sugerido pelo sistema operacional é /opt/ibm/db2/V9.7. Vamos deixar como está e portanto clique em next.

db2unix611.Vamos criar usuario/proprietario para DB2 Administrative Server Deixe conforme a imagem a seguir. A senha você escolhe.

db2unix712.Vamos aproveitar para criar uma instancia para o DB2, ou seja, o proprietario. Portanto escolha a opcao conforme a imagem abaixo:

db2unix813.Na proxima tela temos duas opções, escolher um usuario, ou usar um já existente. Vou usar o meu usuario. Entao marque a iocai Existing user e no campo user name digite o nome do seu usuario, no meu caso ficou camilo

14.O ultimo passo é criar um usuario. Deixe conforme abaixo:

db2unix915.Agora clique em finish

16.Apos aguarde a instalação concluir, depender da configuração da máquina isso pode demorar um pouco. Assim que for finalizada a instalação você deve ver essa mensage: setup has completed successfully

17.Para iniciar o DB2 abra o terminal e digite o comando abaixo

18. db2start

19.E você verá a mensagem a seguir no terminal:

SQL1063N DB2START processing was successful.

20.Para parar o DB2 o comando é o seguinte:

db2stop

Pronto, temos o DB2 instalado e configurado em um ambiente Linux. Agora você pode desfrutar dessa poderosa ferramenta no cenário de DB.