%%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-jdbcdaoUn 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
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).