Advertisement
Guest User

Untitled

a guest
May 16th, 2016
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.32 KB | None | 0 0
  1. ContactosDAO.java
  2. public class ContactosDAO
  3. {
  4. private Session sesion;
  5. private Transaction tx;
  6.  
  7. public long guardaContacto(Contacto contacto) throws HibernateException
  8. {
  9. long id = 0;
  10. try
  11. {
  12. iniciaOperacion();
  13. id = (Long) sesion.save(contacto);
  14. tx.commit();
  15. } catch (HibernateException he)
  16. {
  17. manejaExcepcion(he);
  18. throw he;
  19. } finally
  20. {
  21. sesion.close();
  22. }
  23. return id;
  24. }
  25.  
  26. <?xml version="1.0" encoding="UTF-8"?>
  27. <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  28. <hibernate-configuration>
  29. <session-factory>
  30. <!-- parametros para la conexion a la base de datos -->
  31. <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
  32. <property name="connection.url">jdbc:oracle:thin:@//localhost:1521</property>
  33. <property name="connection.username">user</property>
  34. <property name="connection.password">pass</property>
  35. <!-- Configuracion del pool interno -->
  36. <property name="connection.pool_size">1</property>
  37. <!-- Dialecto de la base de datos -->
  38. <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
  39. <!-- Otras propiedades importantes -->
  40. <property name="show_sql">true</property>
  41. <property name="hbm2ddl.auto">create-drop</property>
  42. <!-- Archivos de mapeo -->
  43. <mapping resource="hibernate/mapeos/mapeos/Contacto.hbm.xml"/>
  44. </session-factory>
  45. </hibernate-configuration>
  46.  
  47. public class Main
  48. {
  49. /**
  50. * @param args the command line arguments
  51. */
  52. public static void main(String[] args)
  53. {
  54. ContactosDAO contactosDAO = new ContactosDAO();
  55. Contacto contactoRecuperado = null;
  56. long idAEliminar = 0;
  57.  
  58. //Creamos tes instancias de Contacto
  59. Contacto contacto1 = new Contacto("Contacto 1", "contacto1@contacto.com", "12345678");
  60. Contacto contacto2 = new Contacto("Contacto 2", "contacto2@contacto.com", "87654321");
  61. Contacto contacto3 = new Contacto("Contacto 3", "contacto3@contacto.com", "45612378");
  62.  
  63. //Guardamos las tres instancias, guardamos el id del contacto1 para usarlo posteriormente
  64. idAEliminar = contactosDAO.guardaContacto(contacto1);
  65. contactosDAO.guardaContacto(contacto2);
  66. contactosDAO.guardaContacto(contacto3);
  67.  
  68. //Modificamos el contacto 2 y lo actualizamos
  69. contacto2.setNombre("Nuevo Contacto 2");
  70. contactosDAO.actualizaContacto(contacto2);
  71.  
  72. //Recuperamos el contacto1 de la base de datos
  73. contactoRecuperado = contactosDAO.obtenContacto(idAEliminar);
  74. System.out.println("Recuperamos a " + contactoRecuperado.getNombre());
  75.  
  76. //Eliminamos al contactoRecuperado (que es el contacto3)
  77. contactosDAO.eliminaContacto(contactoRecuperado);
  78.  
  79. //Obtenemos la lista de contactos que quedan en la base de datos y la mostramos
  80. List<Contacto> listaContactos = contactosDAO.obtenListaContactos();
  81. System.out.println("Hay " + listaContactos.size() + "contactos en la base de datos");
  82.  
  83. for (Contacto c : listaContactos)
  84. {
  85. System.out.println("-> " + c.getNombre());
  86. }
  87. }
  88.  
  89. WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
  90. may 16, 2016 9:54:39 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
  91. INFO: HHH10001005: using driver [com.mysql.jdbc.Driver] at URL [jdbc:oracle:thin:@//localhost:1521/idbis.frontdb.ugr.es [joram on JORAM]]
  92. may 16, 2016 9:54:39 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
  93. INFO: HHH10001001: Connection properties: {user=joram, password=****}
  94. may 16, 2016 9:54:39 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
  95. INFO: HHH10001003: Autocommit mode: false
  96. may 16, 2016 9:54:39 PM org.hibernate.engine.jdbc.connections.internal.PooledConnections <init>
  97. INFO: HHH000115: Hibernate connection pool size: 1 (min=1)
  98. Ocurrió un error en la inicialización de la SessionFactory: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
  99. Exception in thread "main" java.lang.NullPointerException
  100. at hibernate.mapeos.dao.ContactosDAO.guardaContacto(ContactosDAO.java:48)
  101. at hibernate.mapeos.Main.main(Main.java:32)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement