Olá pessoal to precisando de uma ajuda para fazer uma vinculação de dados para o Combo box!!
E aquela velha coisa de :o 1º Combo ->Estado 2º Combo -> Cidade e 3º uma tabela com lugares daquela cidade!!
Se alguem tiver exemplos e puder disponibilizar eu Agradeço!!
Obrigado pela atenção!!
vlw
abs
Vincular Dados do Banco + Combo box + JSP + JSF + NetBeans[Resolvido!]
25 Respostas
Tem um exemplo que pode lhe ajudar aqui.
Vlw.
mais coloquei no NetBenas e ta dando erro!!
vlw
abs
Mais alguém ae! Por favor!
manda pra ca:
[email removido]
Mais eu nao fiz nada ainda nao sei como sair do lugar!!
vlw
abs
Alguém ae pra me ajudar por favor!!
ja vo entrar na terceira semana e n saiu nada!!
vlw
abs
Mano, primeiro vamos definir o que você quer fazer .
1 - eu quero X
2- levantamos os requisitos para X
3- escolhemos a maneira mais simples de fazer X
4- iniciamos o desenvolvimento de X
5- na duvida os colegas do guj ajudam
abraço.
Ok, vanos lá!!
eu quero
1-Tera que ter um Combo box que vai conter Estados que vinrao do Banco de dados!!
1.2-Tera um outro combo box que vai conter Cidades de acordo com o estado selecionado no 1 Bamco de dados!!
1.3 Tera uma tabela que sera preenchida com dados de clientes existentes na Cidade escolhida e estado escolhido Banco de dados!!
levantamos os requisitos para
2- Nao fço ideia do q seja!!
escolhemos a maneira mais simples de fazer
3- acreidto q o NetBenas!! com JSF
iniciamos o desenvolvimento de
4-dos itens citados la no nº 1!!
na duvida os colegas do guj ajudam
5-E agradeço as ajudas!!
Ok! esclarecido?
abraços
vlw
isso é fácil !
CRIA DUAS TABELAS : Que banco você vai usar ?
CIDADES ESTADOS
RELACIONAMENTO: 1 N
CIDADE 1: ---------------------:N ESTADOS
1 - Iniciei um projeto novo no netbeans, suporte a jsf + hibernate, edite o arquivo hibernate.cfg.xml (google monstra exemplos), que vai aparecer !
2 - criei uma classe gera banco no seu projeto, teste seu hibernate.cfg.xml
para você ir matando a curiosidade nos vamos usar reRender para ajaxiar o campo cidades !
após terminar isso me avisa !
abraço !
Opa ,so um coisa As tabelas sao as mesmas!!
Pronto o hibenate ja ta configurado “automaticamente”
Como faço pra testa n entedir !!
vlw
não cara !
não pode ser na mesma tabela ! tem que ser mestre detalhe !
hibernate.cfg.xml vai ficar ± assim
1. <!DOCTYPE hibernate-configuration PUBLIC
2. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
3. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
4.
5. <hibernate-configuration>
6. <session-factory>
7. <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
8. <property name="hibernate.connection.url">jdbc:hsqldb:file:mydvdsDB</property>
9. <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
10. <property name="hibernate.connection.username">sa</property>
11. <property name="hibernate.connection.password"></property>
12. <!-- JDBC connection pool (use the built-in) -->
13. <property name="connection.pool_size">1</property>
14. <!-- SQL dialect
15. <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>-->
16. <!-- Enable Hibernate's automatic session context management -->
17. <property name="current_session_context_class">thread</property>
18. <!-- Disable the second-level cache -->
19. <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
20. <!-- Echo all executed SQL to stdout -->
21. <property name="show_sql">true</property>
22. <!-- Drop and re-create the database schema on startup
23. tem que deixar essa propriedade ativa apos alguma modificação nas
24. tabelas ou no mapeamento, e depois comentar novamente, pois ela apaga
25. o que tem na tabela -->
26. <property name="hbm2ddl.auto">update</property>
27. <mapping class="hiberapp0.Shinigami"/>
28. <mapping class="hiberapp0.Evento"/>
29. </session-factory>
30. </hibernate-configuration>
gerabanco.java
package br.com.caelum.lojavirtual.util;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class GeraBanco {
public static void main(String[] args) {
Configuration conf = new AnnotationConfiguration();
conf.configure();
SchemaExport se = new SchemaExport(conf);
se.create(true, true);
}
}
veja qual a saida ! no netbeans ! poste aqui !
iii mano, ñ pode ser pq aki so tem uma tabela!! com essas informações que irei pegar!! Tabela n posso mexer pq e de um sistema ja pronto q estou recriando entao n posso mesmo mexer!!
Posso fazer views “Visoes” serve?
vlw
abs
<?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">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/3Soft</property>
<property name="hibernate.connection.username">postgres</property>
<property name="hibernate.connection.password">postgres</property>
</session-factory>
</hibernate-configuration>
NÃO FAZ NADA NO SERVIDOR AIDA…
Tu ta pegando um sistema clipper e fazendo web ? e isso ?
Não mano construindo so em JAVA !!
vlw
Tem QUE MOdelaR para 2 tabelas, pois em uma acho que nao da pra fazer mano !
mano d dar da pq o sistema existe!!
tem o mesmo BD !!
vlw
esse sistema e feito em que ?
Java JSP!!
vlw
Estado.java:
@Entity
@Table(name="estados")
public class Estado implements Serializable {
private static final long serialVersionUID = -5582648910303813488L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="ESTADO_ID")
private Long id;
@Column(name="sigla")
private String sigla;
@Column(name="nome")
private String nome;
@OneToMany(mappedBy="estado", fetch=FetchType.LAZY)
@Cascade(org.hibernate.annotations.CascadeType.ALL)
private List<Cidade> cidades = new ArrayList<Cidade>();
get / set
Cidade.java:
@Entity
@Table(name="cidades")
public class Cidade implements Serializable{
private static final long serialVersionUID = -2094704997130038211L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="CIDADE_ID")
private Long id;
@Column(name="nome")
private String nome;
@ManyToOne(cascade=javax.persistence.CascadeType.ALL)
@JoinColumn(name="id_cid_est")
private Estado estado;
get/set
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib prefix="rich" uri="http://richfaces.ajax4jsf.org/rich"%>
<%@ taglib prefix="a4j" uri="http://richfaces.org/a4j"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<f:view>
<h:form>
<h:panelGrid columns="2">
<h:outputLabel for="estado" value="Estado " />
<h:selectOneMenu id="estado" value="#{regiaoMB.estado.id}">
<f:selectItem itemValue="" itemLabel="Selecione..." />
<f:selectItems value="#{regiaoMB.estados}" />
<a4j:support event="onchange" ajaxSingle="true" action="#{regiaoMB.actionCarregaCidades}" reRender="estado,cidade"/>
</h:selectOneMenu>
<h:outputLabel for="cidade" value="Cidade " />
<h:selectOneMenu id="cidade" value="#{regiaoMB.cidade.id}">
<f:selectItem itemValue="" itemLabel="Selecione..." />
<f:selectItems value="#{regiaoMB.cidades}" />
</h:selectOneMenu>
</h:panelGrid>
</h:form>
</f:view>
</body>
</html>
nisso: #{regiaoMB.estados}
de ond vem o regiaoMB?
vlw
abs
package br.com.serjaum.mb;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
import org.hibernate.Session;
import br.com.serjaum.dao.CidadeDAO;
import br.com.serjaum.dao.EstadoDAO;
import br.com.serjaum.dao.HibernateUtil;
import br.com.serjaum.modelo.Cidade;
import br.com.serjaum.modelo.Estado;
public class RegiaoMB implements Serializable {
private static final long serialVersionUID = -4281390476508498320L;
private List<SelectItem> cidades = new ArrayList<SelectItem>();
private Estado estado = new Estado();
private Cidade cidade = new Cidade();
public List<SelectItem> getEstados(){
Session session = HibernateUtil.currentSession();
EstadoDAO dao = new EstadoDAO(session, Estado.class);
List<Estado> lista = dao.list();
List<SelectItem> itens = new ArrayList<SelectItem>(lista.size());
for(Estado s : lista){
itens.add(new SelectItem(s.getId(), s.getNome()));
}
return itens;
}
public void actionCarregaCidades(){
System.out.println("id do estado selecionado >>> " + this.estado.getId());
this.cidades = this.getCidadesByEstado();
}
public List<SelectItem> getCidadesByEstado(){
Session session = HibernateUtil.currentSession();
CidadeDAO dao = new CidadeDAO(session, Cidade.class);
List<Cidade> cidades = dao.getCidadesByEstado(this.estado.getId());
List<SelectItem> items = new ArrayList<SelectItem>(cidades.size());
for(Cidade c : cidades){
items.add(new SelectItem(c.getId(), c.getNome()));
}
return items;
}
public List<SelectItem> getCidades() {
return cidades;
}
public void setCidades(List<SelectItem> cidades) {
this.cidades = cidades;
}
public Estado getEstado() {
return estado;
}
public void setEstado(Estado estado) {
this.estado = estado;
}
public Cidade getCidade() {
return cidade;
}
public void setCidade(Cidade cidade) {
this.cidade = cidade;
}
}