Java, MySQL: Existe-t-il un moyen d'intégrer un serveur MySQL avec un programme Java?


Une chose que j'aime à propos de.NET est la possibilité d'avoir un fichier de base de données avec le projet. Je sais qu'en utilisant une base de données SQLite, cela peut être fait, mais quelqu'un a-t-il réalisé cela avec un backend de base de données MySQL?

Donc, par exemple, si j'exécute un programme java, il devrait pouvoir démarrer son propre mini serveur MySQL et manipuler des données. Donc, essentiellement, je veux le même flux qu'avec un SQLite mais j'ai besoin de la puissance de MySQL.

Author: Legend, 2009-11-24

4 answers

Une recherche rapide montre ceci: MySQL Connector / MXJ - pour intégrer le serveur MySQL dans des applications Java sur la page de téléchargements MySQL à:

Http://dev.mysql.com/downloads/

 15
Author: Legend, 2009-11-24 17:02:14

Pour référence future à tous ceux qui cherchent à intégrer mysql, il existe un utilitaire des gars mysql qui le fait http://downloads.mysql.com/archives/c-mxj/

 7
Author: zcourts, 2014-02-17 15:36:18

On dirait que vous voulez une base de données intégrée. Bien que le connecteur MySQL semble bien, il lancera un processus de serveur séparé. Si vous souhaitez que le serveur de base de données s'exécute dans la machine virtuelle Java, il existe plusieurs bases de données intégrées pour Java.

Les deux que j'ai vu le plus utilisés sont:

  1. Apache Derby / JavaDB
  2. HSQL
 6
Author: Steve K, 2009-11-24 17:12:50

Si cela ne vous dérange pas d'utiliser MariaDB (la variante open source de MySQL, fonctionne essentiellement de la même manière) MariaDB4j peut être l'option parfaite pour les environnements de production.

MariaDB4j est un Java (!) "lanceur" pour MariaDB (le "arrière compatible, remplacement direct du serveur de base de données MySQL(R)", voir FAQ et Wikipedia), vous permettant d'utiliser MariaDB(MySQL (R)) à partir de Java sans AUCUNE installation / dépendances externes. Relisez: Vous le faites PAS besoin d'avoir MariaDB binaires installés sur votre système à utiliser MariaDB4j!

Comme il fonctionne complètement sans aucune exigence qui doit être sur le PC des utilisateurs, c'est probablement la meilleure option pour intégrer MySQL. Convertir un projet qui n'utilise pas de base de données intégrée dans MariaDB4j est aussi simple que d'appeler:

DB db = DB.newEmbeddedDB(3306);

Lisez la page github pour plus d'informations. La dépendance centrale Maven est:

<dependency>
    <groupId>ch.vorburger.mariaDB4j</groupId>
    <artifactId>mariaDB4j</artifactId>
    <version>2.2.3</version>
</dependency>

Si cela vous dérange d'utiliser MariaDB, une autre option est Wix Embedded MySQL .

Wix Embedded MySQL est une bibliothèque qui fournit un moyen d'exécuter de vrais MySQL dans les tests d'intégration.

Pourquoi?

  • Vos tests peuvent s'exécuter sur un environnement de type production: correspondance de version, encodage, fuseau horaire, base de données/schéma/paramètres utilisateur;
  • C'est facile, beaucoup plus facile que d'installer la bonne version à la main;
  • Vous pouvez utiliser différentes versions / configurations par projet sans aucune configuration locale;
  • Prend en charge plusieurs plates-formes: Windows, Linux et OSX;
  • Fournit des versions multiples constamment mises à jour de MySQL - 5.5, 5.6, 5.7;
  • Matrice de test pour tous les systèmes d'exploitation pris en charge (x86/x64) et les versions (5.5, 5.6, 5.7).
 5
Author: Simon Baars, 2018-04-03 14:21:35