11
votes

Intégrer MySQL dans l'application Java Desktop

Je ne suis pas clair à propos des étapes / des détails de la configuration sur la manière dont je peux incorporer MySQL dans une application de bureau Java de sorte que celle-ci (application) puisse être installée sur n'importe quelle machine via un seul fichier exécutable et la présente présente une base de données et fournit également un EXE Pour exécuter l'app.tul maintenant j'ai construit mon application à l'aide de Netbeans et j'ai utilisé MySQL pour configurer la base de données.plz Guidez-moi plus loin.


2 commentaires

Vous avez incorporé MySQL dans l'application Desktop? comment? Est-il possible?


Cela me semble très utile pour moi aussi


5 Réponses :


7
votes

mySQL n'est pas une base de données intégrée - le seul pot en rapport avec celui-ci est le pilote JDBC. Il nécessite un processus d'installation, qui pourrait être capable d'être scripté via Java, mais le processus fonctionnera certainement en dehors de l'application Java que vous avez l'intention de prendre en charge. Signification, vous pouvez éteindre votre application Java, mais le service / démon MySQL fonctionnera toujours.

Seulement le libmysqld est embormeable.

Il y a des bases de données intégrées - SQLite, Firebird - et des bases de données intégrées fabriquées à Java - HSQL, Derby / (vous ne souvenez-vous pas de ce que l'on a appelé auparavant). Je crois que SQL Server Compact Edition est incorporable, tandis que SQL Server Express / MSDE n'est pas. Je ne sais pas si Oracle a une version intégrable ....


2 commentaires

Il y a une version de MySQL, libmysqld pour l'intégration. Mais je suis d'accord avec vous dans la mesure où il y a d'autres bases de données plus adaptées au travail. Comme c'est Java, je recommanderais HSQL.


@FESAR: THX, je ne savais pas à propos de libmysqld



1
votes

tandis que Théoritcaly est possible, il ne serait pas facile. Les distributions Standard MySQL supposent que vous souhaitez configurer un serveur de base de données à usage général avec distinct des applications clientes COMINCATINATION via ODBC, etc.

Vous serez peut-être mieux à regarder les options "Pure Java" comme HSQL ou Javadb, conçues pour être intégrées dans une application Java et nécessitent peu ou pas de "configuration".

Une autre possibilité est SQLite qui n'a besoin que d'un seul binaire plus le fichier JAR SQLJBBC. Ceci est à nouveau conçu à partir de zéro pour être incorporé à l'intérieur d'une application et nécessite zéro administrateur en dehors de l'affectation d'un fichier pour la base de données.


1 commentaires

Considérant que cela est possible, comme vous l'avez dit, pouvez-vous mentionner tout lien de tutoriel comment le configurer, que ce soit complexe ou donc



3
votes

Je recommanderais vivement H2 . C'est une base de données intégrée très rapide écrite en Java et j'ai trouvé plus facile à utiliser que certaines des autres mentionnées telles que HSQL.

EDIT:

Sur le site Web H2, vous pouvez voir un comparaison de vitesse de H2 VS Derby, HSQL, MySQL , etc ...

Voici des informations sur la sauvegarde de la base de données .


2 commentaires

H2 peut-il gérer une grande quantité de données et pouvons-nous en faire une sauvegarde facilement?


La sauvegarde H2 est assez facile. La dernière fois que je l'ai essayé, H2 n'a pas bien augmenté les gigaoctets de données telles que MySQL Can. Je pense que cela devrait être capable de gérer 5000 lignes sans trop de problèmes.



0
votes

Si vous voulez une base de données intégrée avec Java, utilisez-en une écrit dans Java conçu pour être intégré. Je sais que Apache Derby peut être intégré et apparemment H2 aussi.

Quelle quantité de données dó vous avez besoin de la base de données pour gérer?


4 commentaires

Je travaille sur une sorte de logiciel comptable qui doit suivre les paiements effectués, puis générer des rapports en conséquence. Quel type de base de données intégrée peut suffire à mes besoins?


Venez avec des estimations de la quantité de données que vous attendez. Juste la taille - 1, 1000, 1000000, etc. - Pour le nombre de tables, des lignes de chaque table, une quantité totale de données pour chaque table, etc.


Les rangées peuvent être 5k, puis ils seront déplacés vers des archives ... maintenant pouvez-vous aider?


Cette quantité de données ne devrait pas être trop pour une base de données intégrée. Personnellement, j'aurais un service Apache Derby et j'apprends où les fichiers des tables de base de données seront stockés afin que je puisse les mettre dans le bon endroit.



1
votes

Jetez un coup d'œil à http: //dev.mysql .Com / Doc / Refman / 5.0 / fr / Connector-mxj.html . Je ne me souviens pas des détails exacts mais j'ai pu intégrer MySQL DB dans l'application de bureau sans que l'utilisateur n'ait besoin de l'installer séparément.

La classe de clé est com.mysql.management.mysqldresource.

Voici l'exemple, http://dev.mysql.com/doc/refman/5.0/fr/connector-mxj-configuration-java-object.html

Le fichier MYSQL-Connector-MXJ-GPL-DB-Files.jar contient des fichiers d'installation MySQL pour toutes les plateformes. Si vous savez quelle est votre plate-forme cible, vous pouvez supprimer d'autres versions de plate-forme de JAR, afin de réduire la taille de téléchargement pour l'utilisateur final.


0 commentaires