The main features of H2 are:
- Very fast, open source, JDBC API
- Embedded and server modes; in-memory databases
- Browser based Console application
- Small footprint: around 2 MB jar file size
H2 | Derby | HSQLDB | MySQL | PostgreSQL | |
---|---|---|---|---|---|
Pure Java | Yes | Yes | Yes | No | No |
Memory Mode | Yes | Yes | Yes | No | No |
Encrypted Database | Yes | Yes | Yes | No | No |
Depuis H2 Database Engine
server modes
in-memory databases modes
h2.start ();
dans un programme Java sur une machine virtuelle JavaEmbedded modes
Dans le passé, il y avait de nombreux cas où la base de données était directement accessible depuis l'application en utilisant une bibliothèque spécifique à la base de données telle qu'Oracle ** (comme l'utilisation d'OracleLib en C ++).
Avec cette méthode ** la base de données peut être modifiée librement et les produits ne peuvent pas être réorganisés ** (ne peut pas être la version Oracle ou la version MySQL)
→ En Java ** JDBC est résolu! ** **
Bases de l'accès à la base de données
JDBC: ** Mécanisme d'abstraction SQL **
Accédez à la base de données spécifiée (comme Oracle) basée sur JDBC jdbc_url
au lieu de frapper directement Oracle
JDBC accède à la bibliothèque d'Oracle et accède à RDB pour plus de ** résumé **
Si vous lisez jdbc_url
et écrivez h2, JDBC accédera à H2DB via la bibliothèque h2.
L'application et RDB étaient directement connectés (** étroitement couplés ), mais maintenant l'application et la RDB sont ** indirectes ** via JDBC ( module d'abstraction **)! (Devient ** faiblement couplé **)
L'application n'a pas à être impliquée dans ce qu'est la base de données, elle a seulement besoin de savoir où y accéder par URL (JDBC accède à la base de données par URL)
Quel que soit le RDB **, il n'est pas nécessaire de le changer côté application, et JDBC le fera très bien **!
Recommended Posts