DatabaseJDBC Persistence Layer Home Page


Dieser Persistenz Layer für JDBC-Datenbanken adressiert die folgenden zentralen Features:
  1. Ein generisches Transfermodell JDataSet ähnlich wie in ADO.NET "nicht typisierter DataSet".
  2. Eine XML-Beschreibungssprache, mit der ein solcher DataSet aus relationalen Datenbank zusammengestellt wird.
  3. 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.

Sonstiges

Ein Artikel über Interoperabilität zwischen JDataSet und nicht typisiertem DataSet bei .NET
(zwar französisch aber lesbar ;-)

Performanz

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

Methode
MySql
4.0.15
Innodb
MSDE
2000
(SqlServer)
Caché
5.0.3
Mckoi
1.0.2

Firebird
1.5RC7

SAPDB
7.4.3.30

Oracle
Home
9.2

Sybase
Anywhere
9.0

DB2
Personal
Edition
8.1

Access
JDBC/ODBC

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

Methode
MySql
4.0.17
Innodb
MSDE
2000
(SqlServer)
Caché
5.0.3
Mckoi
1.0.2

Firebird
1.5RC8

MaxDB
7.5.0.5

Oracle
Home
9.2

Sybase
Anywhere
9.0

DB2
Personal
Edition
8.1

Access
JDBC/ODBC

HSQLDB
1.7.3
CACHED

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

Wird fortgesetzt ;-)


Software License

GNU Lesser General Public License


updated 27.1.2005