Usando Hibernate en Java Swing Aplication
Creando la base de datos:
En este tutorial usaremos la base de datos mysql gratuita de netbeans llamada sakila, así que para agregarlo nos vamos al plugin manager de netbeans e instalamos y posteriormente activamos
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFH48pNitQbynGBCSiVhEju3yaF0CT41TZnDdPYmgL1Y6nng0ZZVN6kzzpV_gdkyQ7CRPJPOqMpx-3uZWz9ZmkmYCHbtiV_keN258tllmsR5rbIlpZIvVidBFypl9rKXWdvvGU7BNKTapq/s320/1.jpg)
Después de haber instalado el plugin nos vamos a la ventana de servicios para arrancar el mysql server y posterior con click derecho le damos en crear nueva base de datos:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNYTJEH7OzfkaUHnsKrzmWXCuKagCtSyjoRbeH77XnpZQYdRab_Anf6Zz0WZsBTVzGEDuKzPyetjLT87POBUnAtu0xLrNgnnJ4hyphenhyphencHh3Xk9fpPbFm3xQzAGtCqaIQ7Hv1Klpd1FxDgcVUE/s320/2.jpg)
Una vez agregada si no aparece conectada como en la imagen abajo la activamos mediante click derecho conectar:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAVtDh4T9xTWFN13zFodp4Z0-WBBP_S5WfY9kIv7DPSjQAYCRxXOVux_X6ShX60D2AQvavdryIsbtpv5SrsYH-rSu3TKvliz12hOH5AlM1gEa7-jfVKI3wocHoLb-DPqH2LWRlrz2yYjeq/s320/3.jpg)
Una vez la base de datos este lista procederemos a crear el proyecto.
Nos vamos a New Proyect, seleccionamos Java Aplicaction de la opción Java y le damos siguiente
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2Aj1DLaCr0NJphyawmK7UjllArd4eN04nQQfLYjB1z6Sxt9pYdAKzdmufSiBvx9w0zcB-QekRCZ8NJhpwzqtSQnP25_rmtqvUyFZVgAulPv1rAoEEacqmYvew-GvvjliLApXESiEM6lcv/s320/4.jpg)
En la siguiente ventana escribimos el nombre del proyecto (en este ejemplo le llamaremos hibernate_ejemplo), deseleccionamos la opción Use Dedicated Folder, deseleccionamos Create Main Class, y le damos en finalizar
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDbN9t2x_ZB4wLO_ElJG5vm4P9NPHgM735qZcaBDa1KqTxEU6J34Fc4ICFe_5jukP6klSa6Rhp_jIMKdhDO0JTxT8vmYtSCgA-obBPNxE9nRf2GA8Wr89mY_tPyup4KGMggho3JZFHo-gt/s320/5.jpg)
Ahora como siguiente paso le agregaremos el soporte de hibernate a nuestro proyecto agregando las librerías de hibernate, desde el menú projects le damos click derecho al paquete de librerías y le damos en la opción Add Library y seleccionamos las librerías de hibernate en el cuadro de dialogo mostrado
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcPhiua5m6ykIQJ9pMna_be8_lFmWCgpL48TXQZgLhQHASBzRR4K_eBnB8fzff-ZVXLPk8NMs4O05XpjuRI2DX5BLRDw8lWPvTl9Z-Q9mgfnTxYpFIY1aBJiNYMjqidoO5G-s9NXJj3UFC/s320/6.jpg)
Ya tenemos agregadas las librerías asi q procedemos a crear los archivos de configuración necesarios para hibernate, le damos click derecho al archivo del proyecto y le damos click a Other en la opción New. Ahora en la ventana de New File le damos seleccionamos hibernate y luego Hibernate Configuration Wizard y le damos siguiente.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWJ6rxQHFab4BWhLkYW-_o8utNBjcKrUJiMaIShAevmzUuFPrJ0IVpdhwRvIJ-XLPMU9bFm8U2bqLyMUic0OJQaeTKHUL58Lc844kYuMJZN5_TkbJVFJ7G5Q5CIbp2fitcz5JdTdvXZJGU/s320/7.jpg)
En la siguiente ventana dejamos la configuración por defecto y le damos siguiente:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlHR2vg0QhMCEh0m8GHxFSB6ncvKNMA1LsX1uAkPJare4IdULBEqqdkn4Khyphenhyphen63hrAXYKpyXeQ1FO4aHF8_rC4e86lOAyb-0ipBMOs4QouLjZ2FTI-FJjPvfP5kgjJI9JTAlk72tbmVCPo5/s320/8.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWwsvgKPdHQVGL7sagvC9aGVsl-D8aXjj9Mcd7ylFS5FCYGLJyPtV6xT63r4LBdhKXxz7NivF-th2yUteB96Tz82zEO5OsUC9wPfPtycE1oQwUUqFmGNbhcH_EJ_4fhDeHl2392qQoWyTd/s320/9.jpg)
Con esto se habrá creado un archivo hibernate.cfg.xml dentro de nuestro proyecto y procederemos a cambiarle algunas opciones en la configuración. En la sección de Optional Properties buscamos Configuration Properties lo expandimos y le damos Add:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdMd9t-34Np_hxx3gpCz1X_qJqzJMUB3135VV18fyDtSSG6BJMTTS0RZv2QUEc2P5GyH8wFHNGTEUH8HhecuS8ntJMS1C0S6LMtZYjBeMGiY60_5IxQ3YKJOeTdnxznNl1AhOwN4jP85G0/s320/10.jpg)
Luego buscamos la opción Miscellaneous Properties la expandimos y le damos click en Add y selecionamos la opción hibernate.query.factory_class como Property Name y también seleccionamos org.hibernate.hql.classic.ClassicQueryTranslatorFactory como Property Value
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOK8uk8_KI7zSHovVzVHgr3zfs-XJDUHTgBnnvdH5CmYj0eMov3g1f_YvN4mbmiMUzfOC7OXAxUIcVCEqSC7maNj8dal5wffXXRiwHzkm3x8hqtB6UctMa9DXxsk0l2-5ZvjPyNYEMERnm/s320/11.jpg)
Si le damos en la vista de XML podremos observar algo parecido a lo siguiente:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguXqDjnII4zs3MJ_GXVcfuH11E8V-q5RD-KE4IFDwi3AiygH7HnuwJ-u5n6CQZ3KCRQb1UTLFwGKd-30fCVY9Wf8pBbK85z2o4Vo8Q2Puyd1QDXRnS4LybvufUTdjQbesNFkyixJcy2vih/s320/12.jpg)
Como siguiente paso agregaremos el archivo HibernateUtil.java, dando click derecho en el pequete fuente del proyecto, click en New y luego en Other, aparecerá la ventana de nuevo archivo, seleccionamos hibernate y luego seleccionamos HibernateUtil.java y le damos click en siguiente:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO5fFk1f3lqYUXULWZ-2AY9_m5fpHunElOi-bhreYRT-JxaxIV-2vWS_Gke0L3OIgcxWD1pPxARAYjh0wo9_yrfLR1Ziz-9qlFoXMB4ETZNIleVC6DHuqQ8UZ_YS87hhoHQ3ZH61keyg_H/s320/13.jpg)
En la siguiente ventana escribimos HibernateUtil como nombre de la clase y sakila.util como nombre del paquete y le damos en finalizar:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj32n4xTOENHA1lxEJvQepag4FGynTf4J2QR6PAAoqMEofqXWstcOiBBARccevtRZ8uIuB2fME92MSXEP9Fwah80k_pvLeazWGVNnQDpTRjGEBV1z0j1a2OBB_qeNuG4E0XNXI4xKIo3670/s320/14.jpg)
Ahora crearemos el archivo Reverse Engineering, nos vamos nuevamente al archivo fuente del proyecto, le damos click derecho, New y luego Other, veremos nuevamente la ventana de selección de archivo nuevo, ahí seleccionamos Hibernate Reverse Engineering Wizard en el listado desplegado de hibernate y damos click en siguiente:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIqk9qiNSW6dDSS5Er1AfJZD_twviaTpA0Hvl2Oc_zpYFTtYpI25wf7CauWRiteqXZTh7cWNKuqgcDnzfC70iDhqW9FIMaVHh0njrzLHTp8VET-4EtuL7axJM2IZgwHhiFFFbJrRNXDB3H/s320/15.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn3umxt9GmBbM1xpZ8N5qNTEt63Vkdffs-VluYAy2GNrjpdpZT_Jr8wrvuIrXwSWSsGjQLwqpPrFSRrTugbLA2AxWNrHlUxdZWYQiT9jWh8xoteprYUvaudSQNlvrOqH3wQEtCdZE6kj39/s320/16.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZ6IHTPH-r0nPvIcWGRQyT3PwV-6VdEvFqu1bADY5S9XTf0-3_AU7V1NLbp5FEQDyJcM2p7SgLm4R7aQhqHfTzSythDmjSAzNoAXlhd0Z9QGMFWat0DA8ZLYgDLgVO0gGfxZeldhObSQyB/s320/17.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFkCyUgXt6yFdcRIQwfCytvN0aGNMlXU2Gk43LbKUG6bFfBgSMQJPtmv41SFHJSaJtRA-oAkcycnF1VbVRs4a6uMwHUSmGY9088BxZoXbzq9M442IlxNiV_AIacBUIo_O8qwEghsrV8i1i/s320/18.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgH4uMNRVhEUyv1oE1Lb8sBraInNKW_vkLftsCg47gQcUrqw48aVbA_HzTWnnZTvnOY2vaNTiXx24cs1z4zE1KlLxMEL9HCg4Kw9DdNsCdqHUBl1ctgMpaPhZlmffAIg7YSRcZEz9XKweg6/s320/19.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOFqKZHPWzHDaof6yHP2mejkldc2IfuFuIWgseOX8MGBTQ67OxCtF3ICab78WSBONIxIwzBq1OBpV75FPTblBI8tX-A3LQr0d_1HkxmFaJ-VyepywYjWH-TGOebYIUcPthNIpEabhpWrbY/s320/20.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtXA5ZGDPD0rSp3p0FTK9zojG6wLrOWnDqauv-pmTbthvW47gmW-974CcdXaTsscE2tc8CHmAL8DQdfcF8P_N77zgewxQFlMkJ8wgS3xDul4CrInERpAuVXndd9CyUgpMNjgI_1R4ufGIj/s320/21.jpg)
Una vez le damos en finalizar ya podemos agregar etiquetas, botones, cajas de texto y también una tabla de manera que se pueda ver de la siguiente forma:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYYO3NHJxPK_yTXdRp1Xvbsi0v2AOOLk1bAVdVTIkI-LEkoxcEHJjLnK1LzuXuCgSnnNaUVBaxGWV5-lgR7IjhLkbm1C3VSLyTPVxO4bH-d70B3DBA7FVvl1OVV78GMEqoEceKv_JnnHA6/s320/22.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibq3VGs_pNcEUlOkA9viQFWQIxYbg9rEcP69znrG8kJLdGTItvDDUtSaJjruuWgQy1gbNrAjmk7uJfhjhNJ9kf0xxbLMkH2THKTqSSJh2A35SpFe2eAG8hW7dFBQ-P_YVkLZtJwqHh3ib2/s320/23.jpg)
En este editor veremos como se hacen las consultas usando hibernate. Y podemos probar el editor de la siguiente manera:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgejf_wz-EuvcOdAhFVLMGnEUzLT16GOn6ItCY7OzKJ6Ig-IzYCnPo3BPsFmrAEaRvdch_Atk1RdQibEikxBrmJZkYnfV-Mk_3kgdRqQYuESjvgSZHsz0qIL76Q4v0q69DcTVPgf09iPDLc/s320/24.jpg)
from Actor a where a.firstName like 'PE%'
from Actor a where a.lastName like 'MO%'
Nos mostrara los siguientes resultados:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij1AP6EIh8tg2cFM82lWx9jPNV4RN5qhfn_4EXWjeivi507ItB8OJy_JmGgThRyDXk_TR23WT_m2fHVTLSU775jXmO6e10w6YSaCu-cR6suz3DI12yO7hz2CbrMWPV5VgBlUhDBb0cNQbb/s320/25.jpg)
Ahora solo nos resta agregarle unas cuantas líneas de código:
private static String Busqueda_Basada_En_Nombre="from Actor a where a.firstName like '";
private static String Busqueda_Basada_En_Apellido="from Actor a where a.lastName like '";
private void runBusquedaBasadaEnNombre () {
executeHQLQuery(Busqueda_Basada_En_Nombre + jTextField1.getText() + "%'");
}
private void run BusquedaBasadaEnApellido () {
executeHQLQuery(Busqueda_Basada_En_Apellido+ jTextField2.getText() + "%'");
}
private void executeHQLQuery(String hql) {
try {
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Query q = session.createQuery(hql);
List resultList = q.list();
displayResult(resultList);
session.getTransaction().commit();
} catch (HibernateException he) {
he.printStackTrace();
}
}
Nos quedara de la siguiente manera:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiS03dCd9PRPkwA-ivFRa2ZKzeo_9Clli5uDA_EHxU_MQUARXO1ud0iYs8aofDkr1hocpg9efHQTBwvDmY42f9lcBErOgvbtOuUVSjQjHpOgaPKqqCgFVBOGv6Q7-eex_dWQPjqTF57LJA/s320/26.jpg)
private void displayResult(List resultList) {
Vector tableHeaders = new Vector();
Vector tableData = new Vector();
tableHeaders.add("ActorId");
tableHeaders.add("FirstName");
tableHeaders.add("LastName");
tableHeaders.add("LastUpdated");
private void displayResult(List resultList) {
Vector
Vector tableData = new Vector();
tableHeaders.add("ActorId");
tableHeaders.add("FirstName");
tableHeaders.add("LastName");
tableHeaders.add("LastUpdated");
“ for(Object o : resultList) {
Actor actor = (Actor)o;
Vector
1 comentario:
Mae la verdad Muchas Gracias !! me sirvió 100% ... saludos desde Costa Rica :-D, agrega mas ejemplos...
Publicar un comentario