Eclipse tomcat mySql

Résolu/Fermé
fadces - 29 août 2008 à 11:21
 maxime - 7 avril 2010 à 12:02
Bonjour,
j'ai un projet a developper en J2EE, et je sais pas comment faire la connexion entre java et la base de données mySQL
( eclipse tomcat mySQL) svp aidez moi merci d'avance

10 réponses

hafidodido Messages postés 40 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 11 octobre 2008 10
Modifié par 00lina00 le 24/07/2010 à 00:23
Voila les étapes de connexion entre java et mysql avec JDBC-ODBC

1-allez au panneau de configuration
2-puis entrez sur "Outils d'administration"
3-cliquez sur "Sources de données (ODBC)"
4-choisiz l'onglet Source de données utilisateur
5-cliquez sur ajouter puis choisissez le type de BD puis choisissez la base données
6-ecrire votre programme java, qui se connecte à cette BD.(voir si dessous "Exemple")

Exemple:

import java.sql.*;
import java.awt.*;
import javax.swing.*;

public class TestJDBC10 extends JFrame{

JTextField F1=new JTextField();
JTextField F2=new JTextField();
JTextField F3=new JTextField();
JPanel panel;
public TestJDBC10(){
panel=(JPanel)this.getContentPane();
panel.add(F1);
panel.add(F2);
panel.add(F3);


}

private static void affiche(String message) {
System.out.println(message);

}

private static void arret(String message) {
System.err.println(message);
//System.exit(99);
}

public static void main(java.lang.String[] args) {
new TestJDBC10().setVisible(true);

Connection con = null;
ResultSet resultats = null;
String requete = "";


// chargement du pilote
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
arret("Impossible de charger le pilote jdbc:odbc");
}

//connection a la base de données
affiche("connection a la base de donnees");
try {

String DBurl = "jdbc:odbc:testja";//testja c'est le nom de la source de donné
con = DriverManager.getConnection(DBurl);
} catch (SQLException e) {
arret("Connection à la base de donnees impossible");
}

//creation et execution de la requête
affiche("creation et execution de la requête");
requete = "SELECT * FROM personne";

try {
Statement stmt = con.createStatement();
resultats = stmt.executeQuery(requete);
} catch (SQLException e) {
arret("Anomalie lors de l'execution de la requête");
}

//parcours des données retournees
affiche("parcours des données retournees");
try {
ResultSetMetaData rsmd = resultats.getMetaData();
int nbCols = rsmd.getColumnCount();
boolean encore = resultats.next();

while (encore) {

for (int i = 1; i <= nbCols; i++)
System.out.print(resultats.getString(i) + "\n");

System.out.println();

encore = resultats.next();
}

resultats.close();
} catch (SQLException e) {
// arret(e.getMessage());
}

affiche("fin du programme");
// System.exit(0);
}
}


Vous pouvez utiliser une autre methode d'hibernate(méthode orienté objet)
c'est la méthode la plus utilisée sur des projets développés en J2EE
et Si vous voulez, je peut vous donner des indications sur cette méthode.
3
salut j'aimerais bien me montrer la méthode d'hibernate mais je suis encore debutant, c ma premiere application a faire merci
0
Il vous faudra d'abord trouver le connector MySQL java sur le site MySQL (aujourd'hui la dernière version est le fichier mysql-connector-java-5.0.8-bin.jar) à télécharger là :

https://dev.mysql.com/downloads/connector/j/5.1.html

Il faudra inclure ce fichier jar dans les librairies de ton projet, ensuite écrire le code de connection.
D'autres sont passés par là déjà :

http://www.commentcamarche.net/forum/affich 2658844 connection a mysql via java
3
Bonjour,

Voici un tutoriel Struts dont une partie précise intégration MySQL / Tomcat : http://objis.com/tutoriel-struts1-n8-acces-jdbc-et-deploiement-war-tomcat/
2
hafidodido Messages postés 40 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 11 octobre 2008 10
Modifié par 00lina00 le 24/07/2010 à 00:23
slt,
nous somme tous des débutants mon ami, et on veut que toutes les personnes se developpent rapidement avec ces tchnologies

voila la démarche de travail avec hibernate:


Hibernate a besoin de plusieurs éléments pour fonctionner :

* une classe de type javabean qui encapsule les données d'une occurence d'une table
* un fichier de correspondance qui configure la correspondance entre la classe et la table
* des propriétés de configuration notamment des informations concernant la connexion à la base de données

Une fois ces éléments correctement définis, il est possible d'utiliser Hibernate dans le code des traitements à réaliser.

Donc les étapes sont les suivantes:
1. La création d'une classe qui va encapsuler les données(javabean)
2. La création d'un fichier de correspondance ou de mapping
Pour assurer le mapping, Hibernate a besoin d'un fichier de correspondance (mapping file) au format XML qui va contenir des informations sur la correspondance entre la classe définie et la table de la base de données.

Même si cela est possible, il n'est pas recommandé de définir un fichier de mapping pour plusieurs classes. Le plus simple est de définir un fichier de mapping par classe, nommé du nom de la classe suivi par ".hbm.xml". Ce fichier doit être situé dans le même répertoire que la classe correspondante ou dans la même archive pour les applications packagées.

Différents éléments sont précisés dans ce document XML :

* la classe qui va encapsuler les données
* l'identifiant dans la base de données et son mode de génération
* le mapping entre les propriétés de classe et les champs de la base de données
* les relations
* ...
pour moi j'ai utilisé un fichier de mapping par table(Factures.hbm.xml---->la table factures) pour bien séparer les choses.
exemple d'un fichier de mapping que j'ai déja utilisé: "Factures.hbm.xml"
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Factures" table="Factures">
<id name="NumAvisIncident" type="int" column="NumAvisIncident">
<generator class="assigned"/>
</id>
<property name="NumFacture" type="int" not-null="true" />
<property name="ConsommationEstime" type="string" not-null="true" />
<property name="CodeTarif" type="int" not-null="true" />
<property name="PrixUnitaire" type="string" not-null="true" />
<property name="Timbre" type="string" not-null="true" />
<property name="GenrePaie" type="string" not-null="false" />
<property name="MontantPaye" type="string" not-null="false"/>
<property name="MontantConsommation" type="string" not-null="true" />
<property name="NetPayer" type="string" not-null="true" />
<property name="DontTva" type="string" not-null="true">

</property>
</class>
</hibernate-mapping>


3. La création d'un fichier de correspondance ou bien pour la configuration

Pour exécuter Hibernate, il faut lui fournir un certain nombre de propriétés concernant sa configuration pour qu'il puisse se connecter à la base de données.

Ces propriétés peuvent être fournies sous plusieurs formes :

* un fichier de configuration nommé hibernate.properties et stocké dans un répertoire inclus dans le classpath
* un fichier de configuration au format XML nommé hibernate.cfg.xml
* utiliser la méthode setProperties() de la classe Configuration
* définir des propriétés dans la JVM en utilisant l'option -Dpropriété=valeur

exemple d'un fichier de configuration que j'ai déja utilisé:ce fichier est nommé "hibernate.cfg.xml"
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>

<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/nomdemabasededonnée</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password"></property>
<property name="connection.pool_size">1</property>
<property name="current_session_context_class">thread</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="show_sql">true</property>


<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="Factures.hbm.xml"/>
<mapping resource="Labo.hbm.xml"/>
<mapping resource="Tarifs.hbm.xml"/>
<mapping resource="Communes.hbm.xml"/>
<mapping resource="Users.hbm.xml"/>

</session-factory>
</hibernate-configuration>

4. L'utilisation d'Hibernate

Pour utiliser Hibernate dans le code, il est nécessaire de réaliser plusieurs opérations :

* création d'une instance de la classe
* création d'une instance de la classe SessionFactory
* création d'une instance de la classe Session qui va permettre d'utiliser les services d'Hibernate
Si les propriétés sont définies dans le fichier hibernate.properties, il faut tout d'abord créer une instance de la classe Configuration. Pour lui associer la ou les classes encapsulant les données, la classe propose deux méthodes :

* addFile() qui attend en paramètre le nom du fichier de mapping
* addClass() qui attend en paramètre un objet de type Class encapsulant la classe. Dans ce cas, la méthode va rechercher un fichier nommé nom_de_la_classe.hbm.xml dans le classpath (ce fichier doit se situe dans le même répertoire que le fichier .class de la classe correspondante)

Une instance de la classe Session est obtenu à partir d'une fabrique de type SessionFactory. Cet objet est obtenu à partir de l'instance du type Configuration en utilisant la méthode buildSessionFactory().

La méthode openSession() de la classe SessionFactory permet d'obtenir une instance de la classe Session.

Par défaut, la méthode openSession() qui va ouvrir une connexion vers la base de données en utilisant les informations fournies par les propriétés de configuration.
Exemple :

import net.sf.hibernate.*;
import net.sf.hibernate.cfg.Configuration;
import java.util.Date;

public class TestHibernate1 {

public static void main(String args[]) throws Exception {
Configuration config = new Configuration();
config.addClass(Personnes.class);
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();
...

Il est aussi possible de fournir en paramètre de la méthode openSession() une instance de la classe javax.sql.Connection qui encapsule la connexion à la base de données.

Pour une utilisation du fichier hibernate.cfg.xml, il faut créer une occurrence de la classe Configuration, appeler sa méthode configure() qui va lire le fichier XML et appeler la méthode buildSessionFactory() de l'objet renvoyer par la méthode configure().
Exemple :

import net.sf.hibernate.*;
import net.sf.hibernate.cfg.Configuration;
import java.util.*;

public class TestHibernate1 {
public static void main(String args[]) throws Exception {
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
...


Il est important de clôturer l'objet Session, une fois que celui est devenu inutile, en utilisant la méthode close().

5.Exemple d'utilisation de hibernate dans le code "La persistance d'une nouvelle occurence"

Pour créer une nouvelle occurrence dans la source de données, il suffit de créer une nouvelle instance de classe encapsulant les données, de valoriser ces propriétés et d'appeler la méthode save() de la session en lui passant en paramètre l'objet encapsulant les données.

La méthode save() n'a aucune action directe sur la base de données. Pour enregistrer les données dans la base, il faut réaliser un commit sur la connexion ou la transaction ou faire appel à la méthode flush() de la classe Session.
Exemple :

import net.sf.hibernate.*;
import net.sf.hibernate.cfg.Configuration;
import java.util.Date;

public class TestHibernate1 {

public static void main(String args[]) throws Exception {
Configuration config = new Configuration();
config.addClass(Personnes.class);
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.openSession();

Transaction tx = null;
try {
tx = session.beginTransaction();
Personnes personne = new Personnes("nom3", "prenom3", new Date());
session.save(personne);
session.flush() ;
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
throw e;
} finally {
session.close();
}

sessionFactory.close();
}
}




je souhaite que ça vous aide et bonne chance.
1
salut ;
j'ai executé la classe que vous m'avez montré mais ca donne des erreurs :
Connection à la base de donnees impossible
Exception in thread "main" java.lang.NullPointerException
at TestJDBC10.main(TestJDBC10.java:61)
merci de votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hafidodido Messages postés 40 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 11 octobre 2008 10
3 sept. 2008 à 17:44
slt,
je pense que vous avez pas configurer le driver sur le panneau de configuration-->outils d'administration.

bon courage.
0
salut ;;
j'ai fais ce que vous m'avez demandé mais j'ai pas trouvé de driver concernant MySql ;;; comment faire pour l'ajouter sur la liste des pilotes installés
merci
0
hafidodido Messages postés 40 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 11 octobre 2008 10
4 sept. 2008 à 16:07
slt,
allez sur panneau de configuration--->outils d'administration--->Sources de données (ODBC)--->l'onglet sources de données système--->cliquez sur ajouter et choissisez le driver Mysql.
0
hafidodido Messages postés 40 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 11 octobre 2008 10
4 sept. 2008 à 16:16
si vous trouvrez pas le driver donc vous devez le telecharger et le mettre dansle dossier c:\windows\System 32\

(le pilote est diponible sur le site suivant : https://dev.mysql.com/downloads/connector/odbc/3.51.html

Bon courage.
0
slt;;
j'ai installé la base de données mysql et j'ai fais ce que m'avez demandé ,,, mais le l'ai pas trouvé dans sources de données ODBC ;;; le driver doit avoir quel nom?? merci , je sais que je demande trop je m'excuse
0
Bonjour

j ai développé une application sous netbeans 6.5 avec sql server2005 en utilisant hibernate comme framework de persistance.Le test de l'application marche trés beien sur mon Pc ,le problémée est quand je veux utiliser mon jar déployé sur un autre pc qui contient seulement le sqlserver et le serveur glassfish
Est ce que vous pouvez m aider.

Remarque:
J ai fais une copie de mon jar sue c: est quand je le lancer il marche(la visualisation des interface )mais si je saisie les donner et je click sur enregistrer je ne trouve pas l enregistrement dans la base

Merci
0
hafidodido Messages postés 40 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 11 octobre 2008 10
7 sept. 2008 à 23:41
Pas de preblème
le driver porte le nom "Mysql ODBC 3.51 Driver".
vous pouvez le télécharger à partir le site:
https://dev.mysql.com/downloads/connector/odbc/3.51.html
Bon courage.
0
salut merci c resolu
0
Bonjour je débite avec spring et hibernate jdbc jai fais la connectio à la bdd mais je veux la faire dans un fichier .properties mais j'y arrive pas
sil voue plais aidez moi
0