Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Hibernate] Connection JDBC Mysql

    7 février 2016 à 12:39:59

    Bonjour,

    J'ai un TP à faire en JEE où il est question de créer un projet utilisant hibernate avec un connection à MySQL. J'ai horreur du JEE mais là va falloir que je m'y mette. J'ai créé le projet, j'ai essayé de suivre des tutos sur le net mais j'y comprends pas grand chose, j'essaie, vraiment. 

    Tout d'abord voici mes fichiers avec connection à la BDD etc :

    hibernate.cfg.xml :

    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD//EN"
            "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <property name="hibernate.dialect">
                org.hibernate.dialect.MySQLDialect
            </property>
            <property name="hibernate.connection.driver_class">
                com.mysql.jdbc.Driver
            </property>
    
            <!-- Assume test is the database name -->
            <property name="hibernate.connection.url">jdbc:mysql://localhost:8888/adherent</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.connection.password">MOTDEPASSE</property>
            <!-- DB schema will be updated if needed -->
            <!-- <property name="hbm2ddl.auto">update</property> -->
        </session-factory>
    </hibernate-configuration>

    Main.java (créé automatiquement pour le projet hibernate) :

    import org.hibernate.HibernateException;
    import org.hibernate.SessionFactory;
    import org.hibernate.Session;
    import org.hibernate.Query;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.metadata.ClassMetadata;
    import org.hibernate.service.ServiceRegistry;
    import org.hibernate.service.ServiceRegistryBuilder;
    
    import java.util.Map;
    
    /**
     * Created by Nicolas on 07/02/16.
     */
    public class Main {
        private static final SessionFactory ourSessionFactory;
        private static final ServiceRegistry serviceRegistry;
    
        static {
            try {
                Configuration configuration = new Configuration();
                configuration.configure();
    
                serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
                ourSessionFactory = configuration.buildSessionFactory(serviceRegistry);
            } catch (Throwable ex) {
                throw new ExceptionInInitializerError(ex);
            }
        }
    
        public static Session getSession() throws HibernateException {
            return ourSessionFactory.openSession();
        }
    
        public static void main(final String[] args) throws Exception {
            final Session session = getSession();
            try {
                System.out.println("querying all the managed entities...");
                final Map metadataMap = session.getSessionFactory().getAllClassMetadata();
                for (Object key : metadataMap.keySet()) {
                    final ClassMetadata classMetadata = (ClassMetadata) metadataMap.get(key);
                    final String entityName = classMetadata.getEntityName();
                    final Query query = session.createQuery("from " + entityName);
                    System.out.println("executing: " + query.getQueryString());
                    for (Object o : query.list()) {
                        System.out.println("  " + o);
                    }
                }
            } finally {
                session.close();
            }
        }
    }
    

    J'ai importé le JAR de la JDBC Java pour la connection à MySQL. Avant j'avais une erreur qui disait que la communication avec la BDD avait échouée. J'ai vérifié, le serveur MySQL est ON. Comme je suis sur Mac utilisant MAMP j'ai mis localhost:8888 et depuis je sais pas, mais la compilation reste bloquée on dirait sur ces lignes :

    févr. 07, 2016 12:34:42 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
    INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
    févr. 07, 2016 12:34:42 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
    INFO: HHH000115: Hibernate connection pool size: 20
    févr. 07, 2016 12:34:42 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
    INFO: HHH000006: Autocommit mode: false
    févr. 07, 2016 12:34:42 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
    INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:8888/adherent]
    févr. 07, 2016 12:34:42 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
    INFO: HHH000046: Connection properties: {user=root, password=****}

    C'est bizarre parceque ce sont des message d'INFO.

    Merci pour votre aide.. 



    • Partager sur Facebook
    • Partager sur Twitter
      7 février 2016 à 12:41:37

      D'ailleurs j'aimerais savoir une chose, cette ligne :

       <property name="hibernate.connection.url">jdbc:mysql://localhost:8888/adherent</property>

      Je la vois comme jdbc:mysql://URL DE MON SERVEUR MYSQL:PORT/MA BDD, je me trompe ?

      • Partager sur Facebook
      • Partager sur Twitter

      [Hibernate] Connection JDBC Mysql

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown