utilizando SQL Server 2008 como manejador de Bases de datos, bueno sin mas rodeos vamos a iniciar con la configuracion.
Requisitos
Creando la Base de Datos
Para empezar debemos tener un esquema de una base da Datos, para ello crearemos una Base de Datos llamada DVDStore a la cual a gregaremos una tabla llamada actor.01 USE [DVDStore] 02 GO 03 04 CREATE TABLE [dbo].[actor]( 05 [actor_id] [int] IDENTITY(1,1) NOT NULL, 06 [name] [varchar](50) NULL, 07 [first_name] [varchar](50) NULL, 08 [last_name] [varchar](50) NULL, 09 [genero] [char](1) NULL, 10 [last_update] [datetime] NULL, 11 [photo] [varchar](50) NULL, 12 CONSTRAINT [PK_actor] PRIMARY KEY CLUSTERED ([actor_id] ASC )
Construyendo un nuevo Proyecto
En NetBeans creamos un nuevo proyecto Java Aplications.
Una vez creado en Proyecto agregamos las librerias de hibernate.
Ahora vamos a crear un nueva coneccion de Base de Datos.
en la pestaña de servicios damos click derecho sobre la opcion Bases de Datos.
Seleccionamos nueva coneccion.
En combobox Driver(controlador), seleccionamos nuevo controlador. aparecera una nueva ventana donde elegiremos el driver JDBC(sqljdbc4).
En el Combobox nos aparecera el nuevo driver agregado lo selecionamos y damos click en siguiente.
En esta ventana agregamos:
servidor: mi_servidor
puerto: 1433
Base de Datos:DVDStore
Instancia: sqlspress
Usuario: sa
Contraseña: *********
En nuestro Poyecto agregamos 3 paquetes:
- bean
- dao
- vista
- util
Crearemos un archivo de configuracion de hibernate, Nuevo-> otros->hibernate->Hibernate Configuration Wizard, se le dejaremos el nombre de default. Seleccionamos la coneccion que se creo anteriormente.
01 <?xml version="1.0" encoding="UTF-8"?> 02 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration 03 DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 04 <hibernate-configuration> 05 <session-factory> 06 <property name="hibernate.connection.driver_class">com.microsoft.sqlserver. 07 jdbc.SQLServerDriver</property> 08 <property name="hibernate.connection.url">jdbc:sqlserver: 09 //DESARROLLOPC\SQLEXPRESS:1433;databaseName=DVDStore</property> 10 <property name="hibernate.connection.username">admin</property> 11 <property name="hibernate.connection.password">qwert12345</property> 12 <property name="hibernate.connection.pool_size">10</property> 13 <property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect< 14 /property> 15 <property name="hibernate.show_sql">true</property> 16 <property name="hibernate.current_session_context_class">thread</property> 17 <property name="hibernate.connection.autocommit">true</property> 18 <mapping resource="bean/Actor.hbm.xml"/> 19 </session-factory> 20 </hibernate-configuration>
A continuacion crearemos un nuevo archivo de Hibernate Reverse Engeering Wizard
Nuevo-> otros->hibernate->Hibernate Reverse Engeering Wizard
agregamos a las tablas que deseamos mapear.
01 <?xml version="1.0" encoding="UTF-8"?> 02 <!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate 03 Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge. 04 net/hibernate-reverse-engineering-3.0.dtd"> 05 <hibernate-reverse-engineering> 06 <schema-selection match-catalog="DVDStore" match-schema="dbo"/> 07 <table-filter match-name="actor"/> 08 </hibernate-reverse-engineering>
Sobre el paquete Bean creamos un nuevo Hibernate Mapping Files and POJOS from
Database nos va crear las clases Bean(POJOS)
mapeadas de las tablas que se agregaron al archivo Hibernate Reverse Engeering Wizard
En el paquete util creamos una nueva clase Hibernateutil Nuevo-> otros->hibernate->
HibernateUtil
En el paquete dao creamos una nueva clase llamada ActorDao el cual tendra un
metodo nos retornara un ArrayList de todos los Actores del la tabla actor y otro
metodo metodo para insertar un Actor
01 public class ActorDao { 02 03 public ArrayList<Actor> find() { 04 05 ArrayList<Actor> listAct; 06 Session sess = HibernateUtil.getSessionFactory().getCurrentSession(); 07 Transaction tx = sess.beginTransaction(); 08 listAct = (ArrayList<Actor>) sess.createQuery("from Actor").list(); 09 return listAct; 10 11 } 12 13 public void insert(Actor actor) { 14 Session sess = HibernateUtil.getSessionFactory().getCurrentSession(); 15 Transaction tx = sess.beginTransaction(); 16 sess.save(actor); 17 tx.commit(); 18 } 19 }
Ahora creamos un clase de prueba llamada TestStore donde primero insertamos un nuevo Actor y posteriormente imprimimos el nombre de todos los actores que estan en la base de datos.
01 public class TestStore { 02 03 public static void main(String[] args) { 04 ActorDao dao = new ActorDao(); 05 06 Actor newobj = new Actor(); 07 newobj.setFirstName("Joseph"); 08 newobj.setLastName("Rosa"); 09 newobj.setLastName("Alberth"); 10 newobj.setGenero('M'); 11 newobj.setLastUpdate(new Date()); 12 dao.insert(newobj); 13 14 ArrayList<Actor> listAct = dao.find(); 15 for (Actor actor : listAct) { 16 System.out.println(actor.getFirstName()); 17 } 18 } 19 }
El proyecto debe quedar de esta manera.
En el siguiente post Realizaremos un CRUD con hibernate y sql Server 2008 con NetBeans utilizando Java Swing.
porfavor dejen sus comentarios para ir mejorando los posts y se aceptan preguntas a cerca del tema.
Saludos.