Enseignants : Anis ASSES Public cible : Classes de 1ère année du mastère : M1-TICIT
1. Base de données
Créez la table product au niveau de cette base de données conformément aux requêtes
SQL suivantes :
CREATE TABLE `persist_db`.`product` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`price` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Créez un nouveau projet maven en ajoutant les dépendances suivantes au niveau du fichier
pom.xml :
- mysql-connector-java
- hibernate-core
@Entity
@Table(name = "product")
public class Product
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private int id;
Page 1|4
@Column(name = "price", nullable = true)
private int price;
Page 2|4
public static SessionFactory getSessionFactory() {
if (sessionFactory == null) {
try {
//Create the SessionFactory from standard (hibernate.cfg.xml) config file.
sessionFactory = new
Configuration().configure().buildSessionFactory();
}
catch (Throwable ex) {
// Log the exception.
System.err.println("Initial SessionFactory creation failed." +
ex);
throw new ExceptionInInitializerError(ex);
}
}
return sessionFactory;
}
}
transaction.commit();
session.close();
// Cleaning up connection pool
factory.close();
}
}
Page 3|4
7. Opérations CRUD
Mettez à jour le code source de la classe Application de sorte à pouvoir ajouter, mettre à
jour, supprimer et afficher les produits en interaction avec la base de données.
Le nouveau code de main devrait avoir alors cette allure :
transaction.commit();
} catch (Exception e) {
if (transaction != null) {
transaction.rollback();
}
//e.printStackTrace();
System.out.println("ERROR: " + e.getMessage());
} finally {
session.close();
}
}
Page 4|4