IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MySQL Discussion :

mysql et hibernate


Sujet :

MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut mysql et hibernate
    Bonjour,

    je suis débutante dans hibernate, j'ai un souci, j'aimerai faire de la sauvegarde / restauration de ma base mysql gérée par hibernate.
    j'aimerai savoir si c'est possible et comment fait-on.
    Je compte vraiment sur vous.

    Merci

  2. #2
    Membre averti Avatar de titouille
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    353
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 353
    Points : 356
    Points
    356
    Par défaut
    Hello,

    Installe les "mySqlTools" que tu peux trouver sur le site mysql.org à l'adresse suivante : http://dev.mysql.com/downloads/gui-tools/5.0.html

    Une fois installés, exécute MySQL administrator, et tu auras (entre autre) 2 onglets du type backup/restore.
    Le "backup" te permet de créer un projet de sauvegarde pour une ou plusieurs bases de données. Tu lui donne un nom, puis tu sélectionnes la ou les bases de données à sauvegarder, et enfin tu sélectionne les tables qui doivent être inclues dans la sauvegarde.

    Dès que c'est fait, tu peux cliquer sur le bouton "start backup" et ça va te générer un script sql de sauvegarde.

    Ensuite tu peux aller sur l'onglet "restore", sélectionner le script sql que tu viens de générer et l'injecter pour qu'il restaure la base de données ainsi que son contenu.

    Bon courage

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Merci de votre aide titouille,
    en fait, la sauvegarde et restauration c'est pour que quand une valeur est inserée à l'aide de l'IHM, qu'on puisse le stocké directement dans la base et pouvoir ensuite faire une sauvegarde/restauration.
    est- ce que ce sera tout de même possible oubien io ya une autre solution.
    Merci

  4. #4
    Membre averti Avatar de titouille
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    353
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 353
    Points : 356
    Points
    356
    Par défaut
    Ok, je n'avais pas compris ça. Tu ne parles pas de sauvegarde / restauration de base de données, mais plutôt d'enregistrement et d'affichage de données issues d'une base de données, j'imagine.

    Avec hibernate, il faut créer une classe de type "VO" (Value Object) qui va ressembler à la table de la base de données, par exemple :

    Dans la base de données, table "user" avec :
    - userid
    - username
    - userpass
    - usermail

    Il faut créer une classe qui va posséder les getters et setters pour chacun de ces champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
    package myPackage;
     
    /**
     * 
     * 
     * @author titouille
     *
     */
    public class UserVO
    {
    	private int id;	
    	private String username = null;
    	private String password = null;
    	private String mail = null;	
     
     
    	/**
    	 * @return the id
    	 */
    	public int getId() {
    		return id;
    	}
     
    	/**
    	 * @param id the id to set
    	 */
    	public void setId(int id) {
    		this.id = id;
    	}
     
    	/**
    	 * @return the username
    	 */	
    	public String getUsername() {
    		return username;
    	}
     
    	/**
    	 * @param username the username to set
    	 */	
    	public void setUsername(String username) {
    		this.username = username;
    	}
     
    	/**
    	 * @return the password
    	 */	
    	public String getPassword() {
    		return password;
    	}
     
    	/**
    	 * @param password the password to set
    	 */	
    	public void setPassword(String password) {
    		this.password = password;
    	}
     
    	/**
    	 * @return the mail
    	 */
    	public String getMail() {
    		return mail;
    	}
     
    	/**
    	 * @param mail the mail to set
    	 */
    	public void setMail(String mail) {
    		this.mail = mail;
    	}
    }
    Puis créer une classe de "mapping" (xml) qui va faire la liaison entre la base de données et la classe Java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    		"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    		"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="myPackage">
    	<class name="UserVO" table="user">
     
    		<id name="id" column="userid" unsaved-value="0">
    			<generator class="native"/>
    		</id>
    		<property name="username" column="username" />
    		<property name="password" column="userpass" />
    		<property name="mail" column="usermail" />
     
    	</class>
    </hibernate-mapping>
    A partir de là, tu pourras créer des objets du type de ta classe, et grace à hibernate exécuter des créations/mises à jour/suppressions de données.

    Après, il faut encore configurer correctement hibernate et son conteneur (tomcat, jrun, websphère, ...) pour que le tout fonctionne.

    Il existe des tutoriaux pour bien débuter avec hibernate, fais quelques recherches sur ton moteur de recherche préféré et tu trouveras surement de bonnes informations. Tu trouveras également ici la documentation officielle pour hibernate : http://www.hibernate.org/hib_docs/re...tml/index.html

    Cordialement

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Merci titouille

    Bonne journée a vous !!

Discussions similaires

  1. decryptage de table mysql via hibernate
    Par djolof dans le forum Hibernate
    Réponses: 0
    Dernier message: 24/06/2009, 13h38
  2. Connexion MySql à travers Hibernate Tools sous Eclipse
    Par scratch_1 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/12/2008, 16h44
  3. GWT <--> Mysql avec Hibernate
    Par tatemilio2 dans le forum GWT et Vaadin
    Réponses: 12
    Dernier message: 23/04/2008, 18h04
  4. Réponses: 2
    Dernier message: 29/01/2007, 15h13
  5. mysql et hibernate type byte
    Par *alexandre* dans le forum Hibernate
    Réponses: 1
    Dernier message: 01/09/2006, 09h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo