Se necesita tener conocimientos previos de java con frameworks jsf e hibernate y nocion de primefaces. Una vez creado el Formulario en JFS un ejemplo:
Nota: en el atributo value se pondra el managedBean para usar en el
formulario el cual contiene los datos de los
modelos value="#{nombreBean.metodo().variable} en el atributo
action se pondra el metodo que hace la insercion atravez de
Hibernate action="#{nombreBean.metodo()}
en el hibernate.cfg.xml se pondra las propiedades para la
conexion con la base de datos MySQL y el mapeo de los modelos se genera
automaticamente despues de crear los pojos ejemplo:
lo siguiente es hacer la reingeniera
inversa para hacer el filtro de las tablas con la aplicacion web y
quedaria un codigo como el siguiente:
<hibernate-reverse-engineering> <schema-selection match-catalog="inee"/> <table-filter match-name="perfil"/> <table-filter match-name="usuarios"/> <table-filter match-name="login"/> <table-filter match-name="recursos"/></hibernate-reverse-engineering>
Luego creamos los pojos solo se podran crear si ya tenemos la
reingenieria inversa creada en nuestro proyecto debe quedar asi:
Se crean las clases o modelos y los archivos xml por parte de
Hibernate ahora creamos los DAO necesarios en este caso 2 porque
insertaremos en 2 tablas de MySQL
Dao User
public class usersDAO implements FrondEndUser{ private Session session; @Override public boolean registerUsers(Usuarios
user) throws Exception { //iniciar la
session de conexion con hibernate y abrimos la sesion de conexion a la bd
session =
HibernateUtil.getSessionFactory().openSession(); //creamos la transaccion y la comenzamos Transaction transaction =
session.beginTransaction(); session.save(user);//guardar los datos transaction.commit();//cerrar
transaccion session.close();//cierra
la sesion
return true; } }
Dao Login
public class loginDAO implements FrondEndLogin{ private Session session; @Override public boolean registerLogin(Login
login) throws Exception { //iniciar la
session de conexion con hibernate y abrimos la sesion de conexion a la bd
session =
HibernateUtil.getSessionFactory().openSession(); //creamos la transaccion y la comenzamos Transaction transaction =
session.beginTransaction(); session.save(login);//guardar los datos transaction.commit();//cerrar
transaccion session.close();//cierra la sesion return true; }}
Estas 2 clases debes ser implementadas por sus interfaces o
frondend
frondend user
public interface FrondEndUser { public boolean registerUsers(Usuarios user) throws Exception; public List<Usuarios> listUsers() throws Exception; public Usuarios updateUsers(int id) throws Exception; public Usuarios deleteUsers(int id) throws Exception;}
frondend login
public interface FrondEndLogin { public boolean registerLogin(Login login) throws Exception; public Login updateLogin (int id) throws Exception; public Login deleteLogin (int id) throws Exception;}
crearemos el managedBean para hacer el control
algo asi como un servlet en el sentido de controlador ejemplo:
@ManagedBean@RequestScopedpublic class ManagedBeanUser { private Usuarios user; private Login login; public List<Usuarios> listUser;// private String confirPassword; public ManagedBeanUser() { user = new Usuarios(); user.setIdusuarios(null); login = new Login(); login.setIdlogin(null); } public String registerUser() throws
Exception { usersDAO daoUsers = new
usersDAO();
daoUsers.registerUsers(this.user); loginDAO daoLogin = new
loginDAO();
daoLogin.registerLogin(login); return
"User/RegisterUser"; } public Login getLogin() { return login; } public void setLogin(Login login) { this.login = login; } public Usuarios getUser() { return user; } public void setUser(Usuarios user) { this.user = user; } public List<Usuarios>
getListUser() { return listUser; } public void
setListUser(List<Usuarios> listUser) { this.listUser =
listUser;
}}
y probamos en la salida de consola debe decir esto:
Información: Hibernate: insert into inee.usuarios (nombres, ap, am, email, direccion, fechaNacimiento, sexo) values (?, ?, ?, ?, ?, ?, ?)Información: Hibernate: insert into inee.login (user, pass) values (?, ?)
quiere decir que la insercion se realizo exitosamente :) :D saludos...
No hay comentarios:
Publicar un comentario