terça-feira, 2 de dezembro de 2014

Puxando os dados de uma tabela para o JCombobox para inserir em outra tabela:


No meu caso tenho uma tabela TipoQuarto que irei puxar somente o id para tabela Quarto.

Nesse caso é utilizando JPA com Swing.

O mapeamento na "class TpQuarto" é feito dessa forma:

   @OneToMany(mappedBy = "tpQuarto")  
   @Cascade(org.hibernate.annotations.CascadeType.SAVE_UPDATE)   
   @Column(name = "tpQuarto_id")  
   private List<Quarto> quartos;  

E o mapeamento na "class Quarto" é feito dessa forma:
   @ManyToOne  
   @JoinColumn(name = "tpQuarto_id", nullable = false)  
   private TpQuarto tpQuarto;  

...E em ambas as classes criasse os métodos get's e set's....


No JFrame de cadastro de Quarto é feita a seguinte configuração:


 public class JFrameQuarto extends javax.swing.JFrame {  
   TpQuarto tpQuarto = new TpQuarto();  
   TpQuartoDAO tpQuartoDAO = new TpQuartoDAO();  
   TpQuartoController tpQuartoController = new TpQuartoController();  
 
   public JFrameQuarto() {  
     initComponents();  
     try {  
       carregaJComboBox();  
     } catch (Exception ex) {  
       Logger.getLogger(JFrameQuarto.class.getName()).log(Level.SEVERE, null, ex);  
     }  
   }  
   public void carregaJComboBox() throws Exception{  
     for (TpQuarto cg : tpQuartoController.listaTpQuarto() ){  
       jComboBox1.addItem(cg);  
     }  
   }    


Desse modo carrega automaticamente no JComboBox, mas na hora de visualizar tudo que já foi feito aparecerá dessa forma:


Figura 1 Mostra de forma desconfigurada

Para funcionar de forma limpa para o usuario adiciona na classe de origem, no caso TpQuarto:
   @Override  
   public String toString() {  
     return getDescricao();  
   }  

Feito isso aparecerá dessa forma:

Figura 2 Mostra de forma desconfigurada
Espero ter ajudado!

terça-feira, 23 de setembro de 2014

Ruby on Rails - Instalando gem mysql2 no Windows

Pela grande dificuldade de tentar instalar o mysql2, na maioria das páginas que encontrava só mandava executar no cmd:

 gem install mysql2 -v '0.3.16'  

Que logo após tentar executar esse comando, aparecia a seguinte mensagem:


 Temporarily enhancing PATH to include DevKit...  
 Building native extensions. This could take a while...  
 ERROR: Error installing mysql2:  
     ERROR: Failed to build gem native extension.  

Continua
...........
 extconf failed, exit code 1  
 Gem files will remain installed in C:/Ruby200/lib/ruby/gems/2.0.0/gems/mysql2-0.  
 3.16 for inspection.  
 Results logged to C:/Ruby200/lib/ruby/gems/2.0.0/extensions/x86-mingw32/2.0.0/my  
 sql2-0.3.16/gem_make.out  

Mas para instalar a gem mysql2, é necessário baixar o mysql-connector-c disponível no sitio do MySQL, baixe a versão de 32-bits, mesmo seu sendo 64-bits. E baixe o arquivo em Zip, pois mais a frente precisaremos descompacta-lo.
Feito essa etapa, descompacta-lo em uma pasta fácil de localizar, agora vá na pasta
mysql-connector-c-6.1.5-win32\lib e copie o arquivo libmysql.dll e cole-o na pasta bin da instalação do seu ruby no meu caso foi esse caminho C:\Ruby200\bin.

Agora abra o cmd como Administrador e execute o seguinte comando:



 gem install mysql2 -- --with-mysql-dir=D:\Downloads\Compressed\mysql-connector-c-6.1.5-win32  

onde "D:\Downloads\Compressed\mysql-connector-c-6.1.5-win32"  é a pasta que você descompactou o mysql-connector. Pronto sua gem mysql2 0.3.16 está instalada!!


Por Nara Chaves