Hibernate es una poderosa herramienta que se utiliza para crear aplicaciones que necesitan interactuar con una base de datos. Es un framework Java que implementa la técnica ORM (Object Relational Mapping).
¿Qué es ORM?
ORM significa mapeo relacional de objetos. Es una técnica que se utiliza para hacer que los objetos de Java sean persistentes asignándolos a una base de datos relacional. Simplifica la interacción de una aplicación con la base de datos.
Hibernate utiliza internamente JDBC (Java Database Connectivity), JTA (Java Transaction API) y JNDI (Java Naming and Directory Interface). Se puede utilizar para realizar todas las operaciones CRUD en la base de datos. A continuación se muestra un ejemplo que demuestra el uso de Hibernate sin usar un ide.
Implementación paso a paso
Primero, descargue los archivos jar para Hibernate y agréguelos al classpath. Puedes descargar los archivos desde este enlace . Guarde todos los archivos requeridos (explicados a continuación) en una carpeta separada. Hibernate requiere un archivo de configuración que contiene la información sobre la base de datos utilizada en la aplicación, los recursos de mapeo, etc. Es un archivo XML que generalmente se guarda como hibernate.cfg.xml. A continuación se muestra el ejemplo del archivo de configuración de Hibernate:
hibernación.cfg.xml:
XML
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.hbm2ddl.auto">create</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/demo</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">root</property> <mapping resource="Student.hbm.xml"></mapping> </session-factory> </hibernate-configuration>
Cree la clase POJO para que los objetos se asignen a la base de datos. La clase POJO significa clase de objeto Java antiguo simple, que representa la clase de objetos que se necesitan almacenar en la base de datos. A continuación se muestra un ejemplo de la clase Student:
Estudiante.java:
Java
package p1; public class Student { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
Cree el archivo de mapeo de Hibernate para la clase Student. Contiene información de asignación importante para la clase POJO que debe asignarse a la base de datos, como la clave principal, el nombre de la tabla, los nombres de las columnas, varias restricciones que se aplicarán a los atributos, etc. A continuación se muestra el archivo de asignación de Hibernate para la clase Student.
Estudiante.hbm.xml:
Java
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="p1.Student" table="Student"> <id name="id"></id> <property name="name"></property> </class> </hibernate-mapping>
Ahora podemos crear una clase de prueba que use Hibernate para comunicarse con la base de datos.
prueba.java
Java
package p1; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; public class Test { public static void main(String[] args) { try { Configuration config=new Configuration(); config.configure(); System.out.println(config); SessionFactory sessionFactory=config.buildSessionFactory(); Session session=sessionFactory.openSession(); System.out.println(session); // creating Student class object Student s=new Student(); s.setId(13773); s.setName("Naman"); // saving object of Student // class in the session cache session.save(s); Transaction t=session.beginTransaction(); t.commit(); } catch(Exception e) { System.out.println(e); } } }
Guarde Student.java y Test.java en el paquete p1. Ejecute los siguientes comandos en la terminal para compilar los archivos:
Ahora ejecute la clase Test usando el siguiente comando:
Los siguientes detalles se almacenarán en la base de datos:
Publicación traducida automáticamente
Artículo escrito por payalrathee35 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA