%%shell
-p /home/jovyan/work/src/github/ebpro
mkdir /home/jovyan/work/src/github/ebpro
cd -rf sample-jdbcdao
rm //github.com/ebpro/sample-jdbcdao git clone https:
Un exemple simple d’utilisation de JDBC
Java
I111
Lecture
JDBC
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.
La classe StartH2 est un exemple pour exécuter H2 depuis Java. A ne faire qu’une seule fois dans le notebook.
%%shell
/home/jovyan/work/src/github/ebpro/sample-jdbcdao
cd -f /tmp/db/test.mv.db
rm --quiet -ntp package exec:java -Dexec.mainClass=fr.univtln.bruno.jdbcdao.persistence.StartH2 &
mvn 2 sleep
%%shell
/home/jovyan/work/src/github/ebpro/sample-jdbcdao
cd --quiet package mvn
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
/home/jovyan/work/src/github/ebpro/sample-jdbcdao
cd exec:java -Dexec.mainClass=fr.univtln.bruno.jdbcdao.persistence.App mvn
[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).