Bom dia pessoal,
Eu fiz um CRUD usando Hibernate e JSF. Agora preciso saber como integrar o código abaixo usando o Spring. Alguem pode me ajudar por favor:
package controle;
import java.util.ArrayList;
import java.util.List;
import javax.faces.component.UIData;
import org.hibernate.Query;
import org.hibernate.Transaction;
import org.hibernate.Session;
import entidades.Idioma;
import util.HibernateUtil;
import util.SessionUtil;
public class IdiomaBean {
private Idioma idioma = new Idioma();
private List<Idioma> lista = new ArrayList<Idioma>();
private UIData objDataTableIdioma;
private String desc = "";
public String getDesc() {
return desc;
}
public Idioma getIdioma() {
return idioma;
}
public UIData getObjDataTableIdioma() {
return objDataTableIdioma;
}
public void setDesc(String desc) {
this.desc = desc;
}
public void setIdioma(Idioma idioma) {
this.idioma = idioma;
}
public void setObjDataTableIdioma(UIData objDataTableIdioma) {
this.objDataTableIdioma = objDataTableIdioma;
}
public void setLista(List<Idioma> lista) {
this.lista = lista;
}
public List<Idioma> getLista() {
if (desc.equals("")) {
lista = listaTodosIdiomas();
return lista;
} else {
return lista;
}
}
public String pesquisaIdiomas() {
if (desc.equals("")) {
lista = listaTodosIdiomas();
} else {
lista = listaIdiomasPorNome(desc);
}
return null;
}
public String salvar() {
//Cria a sessao com o banco e a transaçao
Session session = HibernateUtil.getSession();
Transaction t = session.beginTransaction();
try {
//salva o objeto curso e se der tudo certo comita a transação
session.merge(idioma);
t.commit();
SessionUtil.addSuccessMessage("OperacaoSucesso");
//limpa o objeto idioma para novas inserções
idioma = new Idioma();
} catch (Exception e) {
// se ocorrer algo errado cancela a transacao
t.rollback();
SessionUtil.addErrorMessage("OperacaoFracasso");
} finally {
//fecha a sessao com o banco de dados
session.close();
}
return null;
}
public String alterar() {
//Pega o objeto selecionado no DataTable
idioma = (Idioma) objDataTableIdioma.getRowData();
return "alteraIdioma";
}
public String excluir() {
//Pega o objeto selecionado no DataTable
idioma = (Idioma) objDataTableIdioma.getRowData();
//Cria a sessão com o banco de dados e a transação
Session session = HibernateUtil.getSession();
Transaction t = session.beginTransaction();
try {
//exclui o objeto idioma e se der tudo certo comita a transação
session.delete(idioma);
t.commit();
SessionUtil.addSuccessMessage("OperacaoSucesso");
//limpa o objeto idioma para novas inserções
idioma = new Idioma();
} catch (Exception e) {
// se ocorrer algo errado cancela a transacao
t.rollback();
SessionUtil.addErrorMessage("OperacaoFracasso");
} finally {
//fecha a sessao com o banco de dados
session.close();
}
return null;
}
public List<Idioma> listaTodosIdiomas() {
//Cria a sessão com o banco
Session session = HibernateUtil.getSession();
//Cria a Query de consulta
Query q = session.createQuery("from Idioma");
//Joga o resultado da consulta dentro de uma list
List<Idioma> idiomas = q.list();
return idiomas;
}
public List<Idioma> listaIdiomasPorNome(String desc_idioma) {
//Cria a sessão com o banco
Session session = HibernateUtil.getSession();
//Cria a Query de consulta
Query q = session.createQuery("from Idioma a where a.desc_idioma like :desc_idioma");
//Seta o parametro de consulta
q.setParameter("desc_idioma", "%"+desc_idioma+"%");
//Joga o resultado da consulta dentro de uma list
List<Idioma> idiomas = q.list();
return idiomas;
}
}
package entidades;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Entity
public class Idioma {
@Id
@GeneratedValue
private int cd_idioma;
private String desc_idioma;
public int getCd_idioma() {return cd_idioma;}
public String getDesc_idioma() {return desc_idioma;}
public void setCd_idioma(int cd_idioma) {
this.cd_idioma = cd_idioma;
}
public void setDesc_idioma(String desc_idioma) {
this.desc_idioma = desc_idioma;
}
}
package util;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static SessionFactory factory;
static {
Configuration configuration = new AnnotationConfiguration();
configuration.configure();
factory = configuration.buildSessionFactory();
}
public static Session getSession() {
return factory.openSession();
}
}
package util;
import java.util.ResourceBundle;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
public class SessionUtil {
private static ResourceBundle bundle = ResourceBundle.getBundle("messages",
FacesContext.getCurrentInstance().getViewRoot().getLocale());
public static void addErrorMessage(String msg) {
msg = bundle.getString(msg);
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, msg);
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage(null, facesMsg);
}
public static void addSuccessMessage(String msg) {
msg = bundle.getString(msg);
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO, msg, msg);
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage("SuccessInfo", facesMsg);
}
}
–FACES CONFIG–
<?xml version="1.0" encoding="UTF-8"?>
idiomaBean
controle.IdiomaBean
session
listaIdioma
/listaIdioma.jsp
alteraIdioma
/cadastroIdioma.jsp
cadastroIdioma
/cadastroIdioma.jsp
cancelaIdioma
/listaIdioma.jsp
listaIdioma
/listaIdioma.jsp
novoIdioma
/cadastroIdioma.jsp
MenuPrincipal
/MenuPrincipal.jsp
cadastroIdioma
/cadastroIdioma.jsp
cadastroIdioma
/cadastroIdioma.jsp
menuPrincipal
/MenuPrincipal.jsp
–WEB XML–
<?xml version="1.0" encoding="UTF-8"?> Projeto index.html index.htm index.jsp default.html default.htm default.jsp org.richfaces.SKIN deepMarine javax.faces.STATE_SAVING_METHOD server Ajax4jsf Filter ajax4jsf org.ajax4jsf.Filter ajax4jsf Faces Servlet REQUEST FORWARD INCLUDE Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet /faces/* *.jsf–JSP–
<%@ taglib uri=“http://java.sun.com/jsf/core” prefix=“f” %>
<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h” %>
<%@ taglib uri=“http://richfaces.org/a4j” prefix=“a4j” %>
<%@ taglib uri=“http://richfaces.org/rich” prefix=“rich” %>
<%@ page language=“java” contentType=“text/html; charset=ISO-8859-1” pageEncoding=“ISO-8859-1”%>
<h:panelGrid columns="2">
<h:outputText value="Descrição: "></h:outputText>
<h:inputText id="desc_idioma" value="#{idiomaBean.idioma.desc_idioma}" size="50" required="true"></h:inputText>
<h:message for="Desc_idioma" style="color: darkred"></h:message>
</h:panelGrid>
<h:commandButton value="Salvar" action="#{idiomaBean.salvar}"/>
<h:commandButton value="Cancelar" action="cancelaIdioma" immediate="true"></h:commandButton>
<h:commandButton value="Voltar" action="menuPrincipal" immediate="true"></h:commandButton>
</h:form>
</f:view>