JDBC Persistence Layer Home Page Dieser Persistenz Layer für JDBC-Datenbanken adressiert die folgenden zentralen Features:
Ein generisches Transfermodell JDataSet
ähnlich wie in ADO.NET "nicht typisierter DataSet".
Eine XML-Beschreibungssprache, mit der ein solcher DataSet aus relationalen Datenbank zusammengestellt wird.
Der Persistenzlayer stellt Methoden bereit, mit denen ein DataSet angefordert und verändert/ergänzt in die Datenbank wieder zurückgeschrieben wird.
Dieses Framework eignet sich vor allem für solche Projekte, bei denen sehr viel verschiedene Zugriffe von mittlerer Komplexität an die Datenbank gestellt werden und die Pflege großer Datenbestände in einer Vielzahl von Tabellen durch die Anwender im Vordergrund steht.
Tutorial (PDF)
Folien - Präsentation (PDF)
JavaDoc zu Persistenz-Layer und JDataSet.
Download Persistenz-Layer Testinstallation (mit McKoi Beispiel-Datenbank).
JDataSet als Datenquelle für JasperReports.
Ein Artikel
über Interoperabilität zwischen JDataSet und nicht typisiertem DataSet bei
.NET
(zwar französisch aber lesbar ;-)
Mit einem Beispiel-Dataset wurde 10000 Datensätze als Dataset einzeln über den Persistenz-Layer geschrieben, gelesen und anschließend wieder gelöscht (macht also 30000 Dataset-Operationen).
CPU mit 750MHz, 384MB Hauptspeicher:
|
Methodenaufrufe/Sekunde |
MySql |
MSDE |
Caché |
Mckoi |
Firebird |
SAPDB |
Oracle |
Sybase |
DB2 |
Access |
|---|---|---|---|---|---|---|---|---|---|---|
|
setDataset (insert) |
27 |
150 |
266 |
10 |
108 |
45 |
99 |
172 |
110 |
35 |
|
getDataset (select) |
217 |
61 |
228 |
133 |
194 |
18 |
129 |
82 |
101 |
222 |
|
setDataset (delete) |
24 |
54 |
166 |
10 |
102 |
11 |
67 |
63 |
70 |
Absturz |
CPU mit 1800MHz, 512MB Hauptspeicher:
|
Methodenaufrufe/Sekunde |
MySql |
MSDE |
Caché |
Mckoi |
Firebird |
MaxDB |
Oracle |
Sybase |
DB2 |
Access |
HSQLDB |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
setDataset (insert) |
30 |
348 |
667 |
11 |
213 |
481 |
229 |
383 |
282 |
69 |
843 |
|
getDataset (select) |
582 |
162 |
667 |
376 |
577 |
360 |
296 |
171 |
270 |
552 |
583 |
|
setDataset (delete) |
30 |
143 |
489 |
10 |
160 |
257 |
153 |
125 |
162 |
Absturz |
408 |
4CPUs mit 3,2GHz, 8GB Hauptspeicher:
|
Methodenaufrufe/Sekunde |
MySql |
MySql |
|
|
Postgres |
MaxDB |
Oracle |
|
|
|---|---|---|---|---|---|---|---|---|---|
|
setDataset (insert) |
857 |
760 |
|
|
978 |
1148 |
|
|
|
|
getDataset (select) |
869 |
827 |
|
|
634 |
790 |
|
|
|
|
setDataset (delete) |
569 |
547 |
|
|
416 |
558 |
|
|
|
GNU Lesser General Public License
updated 17.4.2012