Pessoal, é o seguinte, estou desenvolvendo um cadastro bem básico só para treinar.
Estou usando o padrão MVC, pelo que li, se cria uma classe (no meu caso Usuário) na parte model, um ManagedBean também na parte Model certo?
Os views contém as minhas telas de cadastro e relatório e o dao na parte de controller
Seguem as classes:
Pessoa
[code]
public class Pessoa {
private String nome;
private String sobrenome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSobrenome() {
return sobrenome;
}
public void setSobrenome(String sobrenome) {
this.sobrenome = sobrenome;
}
}[/code]
PessoaBean
@ManagedBean(name="PessoaBean")
@RequestScoped
public class PessoaBean {
private Pessoa pessoa;
public PessoaBean(){
pessoa = new Pessoa();
}
public Pessoa getPessoa() {
return pessoa;
}
public void setPessoa(Pessoa pessoa) {
this.pessoa = pessoa;
}
public void salvar(Pessoa p){
}
}
CadastroPessoa
[code]
<h:head>
Cadastro de Usuário
</h:head>
<h:form >
Nome: <h:inputText id="nome" value="#{PessoaBean.pessoa.nome}"/>
<br/>
Sobrenome: <h:inputText id="sobrenome" value="#{PessoaBean.pessoa.sobrenome}"/>
<br/>
<p:commandButton action="{}"/>
</h:form>
</body>
[/code]
E o dao
[code]
public class PessoaDAO {
public void salvar(Pessoa p){
Connection con = Conexao.getConnection();
String sql = "INSERT INTO pessoa (nome,sobrenome) VALUES (?,?)";
try{
PreparedStatement pstm = con.prepareStatement(sql);
//Define os valores das interrogações
pstm.setString(0, p.getNome());
pstm.setString(1, p.getSobrenome());
pstm.executeUpdate();
pstm.close();
con.close();
}
catch(Exception e){
System.out.println(e.getMessage());
}
}
public List<Pessoa> listarTodas(){
Connection con = Conexao.getConnection();
List<Pessoa> pessoas = new ArrayList<Pessoa>();
String sql = "SELECT *"
+ "FROM tbl_pessoa";
try{
Statement stm = con.createStatement();
ResultSet rs = stm.executeQuery(sql);
while(rs.next()){
Pessoa p = new Pessoa();
p.setNome(rs.getString("nome"));
p.setSobrenome(rs.getString("sobrenome"));
pessoas.add(p);
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
return pessoas;
}
public Pessoa listar(Pessoa p){
String sql = "SELECT *"
+ " FROM tbl_pessoa"
+ "WHERE ID = ";
try{
Connection con = Conexao.getConnection();
Statement stm = con.createStatement();
ResultSet rs = stm.executeQuery(sql);
while(rs.next()){
//Cria o objeto
p = new Pessoa();
p.setNome(sql);
p.setSobrenome(sql);
}
}
catch(Exception e){
System.out.println(e.getMessage());
}
return p;
}
}[/code]
então, parei na parte do Cadastro da tela mesmo, vi a parte onde eu colocava no value dos inputs o caminho pelo managedBean, até ai entendi, mas e depois daí, vou enviar o action do commandButton pra onde? pro método para poder salvar ? Se sim, na Hora de passar o objeto para esse método? como farei?