Un exemple simple d’utilisation de JDBC

Java
I111
Lecture
JDBC
Auteur
Affiliations

Université de Toulon

LIS UMR CNRS 7020

Date de publication

2024-11-04

Pour finir voilà un exemple “Simple” d’utilisation d’une Datasource et de d’une DAO avec JDBC avec le SGBD H2.

L’exemple ci-dessous utilise une base de donnée H2 qui est exécutée directement depuis l’application.

%%shell
mkdir -p /home/jovyan/work/src/github/ebpro
cd /home/jovyan/work/src/github/ebpro
rm -rf sample-jdbcdao
git clone https://github.com/ebpro/sample-jdbcdao

La classe StartH2 est un exemple pour exécuter H2 depuis Java. A ne faire qu’une seule fois dans le notebook.

%%shell
cd /home/jovyan/work/src/github/ebpro/sample-jdbcdao
rm -f /tmp/db/test.mv.db
mvn --quiet -ntp package exec:java -Dexec.mainClass=fr.univtln.bruno.jdbcdao.persistence.StartH2 &
sleep 2
%%shell
cd /home/jovyan/work/src/github/ebpro/sample-jdbcdao
mvn --quiet package 
May 23, 2024 9:07:27 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:27 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:27 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
[main] INFO fr.univtln.bruno.jdbcdao.persistence.daos.PersonneDAOTest - Personne(id=351, nom=X, prenom=Y)
May 23, 2024 9:07:27 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:27 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:28 PM fr.univtln.bruno.jdbcdao.persistence.StartH2 main
INFO: TCP server running at tcp://172.26.0.4:9092 (others can connect)
May 23, 2024 9:07:28 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:28 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:28 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:28 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
[main] INFO fr.univtln.bruno.jdbcdao.persistence.daos.PersonneDAOTest - Personne(id=351, nom=X, prenom=Y)
May 23, 2024 9:07:28 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:28 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
%%shell
cd /home/jovyan/work/src/github/ebpro/sample-jdbcdao
mvn exec:java -Dexec.mainClass=fr.univtln.bruno.jdbcdao.persistence.App
[INFO] 
[INFO] --- exec:3.1.0:java (default-cli) @ JdbcDao ---
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.App main
INFO:  p1 persisted Personne(id=1, nom=A, prenom=B)
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.App main
INFO: Personne 1 : Personne(id=1, nom=A, prenom=B)
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.App main
SEVERE: Personne -1 not found
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.App main
INFO: Personne 1 (new): Personne(id=1, nom=AA, prenom=BB)
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.App main
INFO: Page[pageNumber=1, pageSize=10, resultList=[Personne(id=2, nom=Durand, prenom=Jacques), Personne(id=3, nom=Dupond, prenom=Paul), Personne(id=5, nom=Laforge, prenom=Henry), Personne(id=6, nom=Laforge, prenom=Marie)]]
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: CHIEN DAO Created.
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.App main
INFO: Le Chien: Chien(id=1, nom=Rex, maitre=Personne(id=7, nom=Le, prenom=Maitre))
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.App main
INFO: Toujours le chien: Chien(id=1, nom=Rex, maitre=Personne(id=7, nom=Le, prenom=Maitre))
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.daos.AbstractDAO <init>
WARNING: PERSONNE DAO Created.
May 23, 2024 9:07:30 PM fr.univtln.bruno.jdbcdao.persistence.App main
INFO: Le chien sans maitre: Chien(id=1, nom=Rex, maitre=null)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.537 s
[INFO] Finished at: 2024-05-23T21:07:30Z
[INFO] ------------------------------------------------------------------------

Cette application peut être étudiée, testée et modifiée depuis l’éditeur Visual Code intégré (cliquer sur + en haut à droite puis lancer VS Code IDE).

Réutilisation