Hoje em dia dá muita pena de um consultor do mercado que não conhece as ferramentas que o mercado oferece, recentemente fui entrevistado pelo projeto KDE (que eu ajudo) para falar um pouco sobre esse assunto.
Com certeza quem não trabalha com banco de dados é minoria, se você como eu pertence à maioria, não saia de casa sem o esquilo!
Desenvolvido desde 2001 o SQuirreL SQL é a melhor
ferramenta que você pode usar no seu trabalho, necessitando de poucos
ajustes para funcionar pra valer.
Comece fazendo o download do JAR no site oficial (não baixe o ZIP,
que contém menos recursos), e continue lendo!
Separei as principais vantagens sobre ele:
Clique na opção Drivers, depois MySQL e selecione a opção para modificar o driver.
Em seguida clique na aba Extra Class Path, clique em Add e selecione o arquivo jar do JDBC do MySQL (exemplo: mysql-connector-java-5.1.5-bin.jar). Depois de selecionado o arquivo, clique em List Drivers e selecione uma opção do combo Class Name.
Felizmente só precisamos criar o driver uma vez, agora vamos criar uma conexão clicando no + :
Informe os dados do banco, e selecione a opção Auto Logon e clique em Ok para salvar.
Nem tudo está traduzido, mas já é um começo.
E outro sugerindo o nome das colunas de uma tabela:
Depois é possível ver o comando SQL que o assistente gerou para alterar a tabela:
No exemplo vamos copiar duas tabelas da conexão com o MySQL
para outra conexão com o Oracle.
Com as duas sessões abertas, selecionamos as tabelas que
desejamos copiar e clicamos com o botão esquerdo do mouse:
Depois, na base do Oracle selecionamos a opção Paste Table:
Durante a cópia, é exibida uma janela para acompanhar o processo:
Depois é só acessar a nova aba criada para visualizar o seu diagrama completo:
No exemplo abaixo, vamos gerar o script da tabela ESTADO, selecionando a opção Generate Table Script:
Com isso o SQL é gerado na aba conforme a imagem abaixo:
Para gerar os dados dessa tabela, basta selecionar a opção Generate Data Script:
A configuração é um pouco complicada, vou ilustrar aqui os passos, mas se não conseguirem podem colocar as dúvidas nos comentários .
Cada projeto Java terá uma configuração gravada na ferramenta, pois tanto um projeto que use JPA quanto outro que use somente Hibernate terão configurações distintas. No exemplo vamos mostrar um projeto com apenas Hibernate.
Para criar uma configuração, acesse pelo menu File – Global Preferences as configurações globais, e a aba Hibernate. Depois informe o nome da configuração e clique onde está indicado abaixo para adicionar duas coisas: a primeira é o diretório de onde está o hibernate.cfg.xml ( não adicione o arquivo, adicione o diretório) , a segunda é adicionar todas as bibliotecas usadas no seu projeto (aquelas que estão no \WEB-INF\lib\ por exemplo).
Se você tem um projeto com Hibernate e MySQL, eu separei para download um pacote com as bibliotecas necessárias, faltando apenas o JAR com suas classes Entity do Hibernate.
Em seguida precisamos informar de que maneira a fábrica de sessões será disponibilizada: chamando o Hibernate direto (nessa opção não funciona Annotations, as classes precisam estar mapeados nos arquivos .hbm), especificando o nome do persistence unit (JPA) ou mostrando a classe de sua aplicação que tem o método public SessionFactoryImpl getSessionFactoryImpl() .
O projeto do exemplo usa Hibernate com Annotations , portanto precisamos especificar qual classe tem o método de fábrica, que no meu caso é br.org.cruzada.core.util.HibernateUtil.
Depois na aba do Hibernate, selecione a configuração criada e clique no ícone da tomada. Se a conexão der certo, o ícone muda e aparecem os objetos mapeados conforme imagem abaixo:
Digite o HQL que quiser (tem auto-complete!) e clique no botão HQL to SQL para gerar o SQL com os resultados:
Existem outras vantagens do SQL SQuirreL, mas essas são as minhas preferidas, tem outros plugins que não mencionei aqui, além de outros não oficiais.
Uma última dica: se você acessa tabelas muito grandes e gera SQLs com milhares de linhas, é interessante saber que o padrão definido nos arquivos (squirrel-sql.bat no Windows e squirrel-sql.sh no Linux) é de 256 megabytes de memória. Se desejar aumentar esse valor, é só alterar o valor padrão e reiniciar a ferramenta.
Boa sorte nos SQLs!
Fernando Boaglio, para a comunidade. =)