Maison  >  Article  >  Java  >  Outil de génération automatique basé sur une base de données JAVA, JavaBean, documentation de la base de données

Outil de génération automatique basé sur une base de données JAVA, JavaBean, documentation de la base de données

怪我咯
怪我咯original
2017-06-23 13:32:201628parcourir

La mise à jour de la version TableGo v5.0.0 est publiée de manière choquante, avec des fonctions et une vitesse plus puissantes. Venez voir cette mise à jour de version est la suivante :
1. L'interface utilisateur a été grandement révisée et les modules fonctionnels ont été. réorganisé pour répondre à des fonctions et des designs plus riches à l'avenir.
2. Ajout des fichiers de configuration de mappage Mapper pour la génération par lots de MyBaits.
3. Ajout de la fonction de génération de SQL basée sur des tables de base de données, qui peut générer automatiquement divers SQL selon la configuration.
4. Modifiez et optimisez pour générer rapidement des JavaBeans basés sur des champs, ajouter des types de champs et des types par défaut, etc.
5. Correction du problème où les annotations JPA générées par PostgreSQL produisaient parfois des erreurs.
6. Prise en charge des noms de bases de données sensibles à la casse, ainsi que des noms de tables et de champs contenant des lettres majuscules et minuscules.
7. Fournissez la version du package Jar, prenant parfaitement en charge Linux et MacBook.
8. Autres modifications de bugs et ajustements d'optimisation du code.

Il y a un autre conseil de configuration ici, c'est-à-dire que lors de la définition de la stratégie de génération d'entités, il est préférable de ne choisir aucune validation de champ, car j'ai trouvé qu'obtenir des données de validation de champ via JDBC est un peu lent et inefficace. De plus, en configurant la stratégie de dénomination d'Hibernate et MyBaits, la stratégie de génération d'entités peut être définie sur "aucune annotation de colonne sur tous les champs". Cela générera des JavaBeans le plus rapidement possible et facilitera grandement la maintenance future du code.

Configuration Hibernate ou JPA : hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy
Configuration MyBaits : mapUnderscoreToCamelCase=true (après cette configuration, il n'est pas nécessaire d'écrire le mappage des champs de resultMap dans mapper.xml )

Le package de pilote de base de données utilisé par MySQL : mysql-connector-java-5.1.39.jar
Le package de pilote de base de données utilisé par Oracle : ojdbc14.jar
Le package de pilote de base de données utilisé par SQL Server : sqljdbc4.jar
Le package de pilotes de base de données utilisé par PostgreSQL : postgresql-9.4.1212.jre7.jar

Il a généré automatiquement des JavaBeans en fonction de la structure de la table de la base de données, générant automatiquement des MyBaits Le mappeur mappant les fichiers de configuration et la génération automatique de bases de données est un casse-tête, une perte de temps et une lourdeur. Examiner des dizaines de milliers de champs dans des dizaines ou des centaines de tables est vraiment pénible.
Nous avons également réfléchi à de nombreuses façons de résoudre ce problème, notamment en utilisant MyEclipse pour se connecter à la base de données afin de générer des JavaBeans, mais il reste encore quelques aspects insatisfaisants, notamment le fait que les commentaires pour les tables et les champs de table ne peuvent pas toujours être générés, et il y aura beaucoup de code de commentaires inutiles générés, ce qui rend le code impur, et la configuration est très lourde, etc.
Alors, par colère, j'ai commencé à préparer suffisamment de nourriture et de vêtements par moi-même, j'ai donc écrit un outil de génération automatisé basé sur une base de données en utilisant Swing, qui prend en charge quatre bases de données : MySQL, Oracle, SQLServce et PostgreSQL, et prend en charge plusieurs systèmes d'exploitation. des systèmes tels que Windows, Linux et MacBook. Le système prend parfaitement en charge les annotations JPA, peut générer des entités et des DTO en même temps, peut supprimer automatiquement les préfixes de table et prend en charge la génération unique et par lots de JavaBeans. variables membres, mais il peut également y avoir des commentaires sur les Getters et les Setters. Plus important encore, il peut également générer automatiquement des documents de conception de base de données et des fichiers de configuration de mappage MyBaits Mapper. S'il existe plusieurs sources de données, il peut également être généré par lots, ce qui est très pratique à utiliser.
Toutes les configurations sont enregistrées localement. Tant qu'elles sont configurées une fois, les fichiers de configuration de mappage et les documents de conception de base de données pour JavaBeans et MyBaits peuvent être générés en quelques secondes la prochaine fois que vous l'utilisez. Il intègre également divers outils pratiques à réaliser. travaillez plus efficacement. Explosez instantanément, la productivité explose instantanément !
Après avoir utilisé et accumulé quelques projets, je les partagerai. Si vous avez de bonnes suggestions et idées, vous pouvez également les proposer. Car je suis très occupé et n'ai pas le temps de faire des tests très complets, il doit y en avoir. quelques bugs. Pour des raisons environnementales, les principaux tests MySQL, Oracle, SQLServer et PostgreSQL ne sont pas entièrement testés, et il peut y avoir quelques bugs. Si vous trouvez des bugs, n'oubliez pas de me le signaler afin qu'ils puissent être corrigés dans la prochaine version.

1. Interface de configuration de la base de données :


2. Interface de configuration des paramètres publics :


3.


4. Générer l'interface de configuration du fichier de cartographie MyBaits Mapper :


5. Générer l'interface de configuration du document de conception de base de données :


6. 11 outils pratiques, l'efficacité du travail augmente instantanément plusieurs fois :


7. Ajout de la fonction de génération du fichier de configuration de cartographie MyBaits Mapper et génération par lots de Mapper.xml en fonction de la configuration actuelle de la base de données :




8. Fonction de document de conception de base de données de génération par lots, qui peut générer rapidement des bases de données par lots Concevoir des documents. Si une exception de délai d'attente de traitement multi-thread se produit lors de la génération d'un document, vous pouvez éviter l'exception de délai d'attente en augmentant le délai d'expiration multi-thread et en réduisant le nombre de tables traitées par chaque thread (la modification des paramètres multi-thread nécessite un redémarrage). le programme). Si le fichier Word généré Si vous ne pouvez pas l'ouvrir avec MS Office, vous pouvez l'ouvrir avec WPS et l'enregistrer une fois, puis vous pouvez l'ouvrir avec MS Office si WPS n'est pas installé. vous pouvez également l'ouvrir avec WordPad, puis l'enregistrer en tant que fichier docx. Il est recommandé de l'ouvrir ou de le transférer avec WPS, afin que le style du fichier ne soit pas affecté et que le diagramme ER soit plus clair. est généré avec docx4j-3.3.1.jar :




9. Modifier et optimiser pour générer rapidement des JavaBeans basés sur les champs, ajouter des types de champs et des valeurs par défaut. types, etc.
10. Ajout de la fonction de génération de SQL basée sur des tables de base de données, qui peut générer automatiquement divers SQL selon la configuration pour répondre à différents besoins :

11. Il s'agit de l'entité et du DTO générés automatiquement :



12. Les dernières statistiques du code source :



13. Une version du package Jar est fournie, qui prend parfaitement en charge Linux et MacBook, il suffit de permettre à TableGo d'être ouvert dans « Sécurité et confidentialité ». 🎜>








Pour utiliser cet outil, vous devez installer JDK7 et supérieur , car l'environnement de développement et l'environnement de compilation actuellement utilisés sont JDK7. Les autres versions de JDK n'ont pas été testées. Il ne devrait y avoir aucun problème avec les versions supérieures. Elles doivent être incluses dans les variables d'environnement du système d'exploitation, sinon Java le fera. ne pas être trouvé.
J'ai cherché de nombreux outils pour empaqueter les packages Jar dans des fichiers EXE, mais aucun d'entre eux ne peut parfaitement prendre en charge les systèmes 64 bits. Finalement, j'ai trouvé exe4j, qui peut enfin parfaitement prendre en charge l'empaquetage dans une version prise en charge. par des systèmes 64 bits. J'utilise moi-même le système Win10 64 bits fourni avec Alienware15R2. Si le programme 32 bits généré ne peut pas fonctionner, dites-le-moi et j'irai trouver une machine virtuelle pour le tester.



Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn