MyBatis-Flex : un cadre d'amélioration MyBatis élégant
fonctionnalité
1. Très léger
L'ensemble du framework MyBatis-Flex repose uniquement sur MyBatis et n'a aucune autre dépendance tierce.
2. Améliorez uniquement
MyBatis-Flex prend en charge CRUD, les requêtes de pagination, les requêtes multi-tables et les opérations par lots sans perdre aucune des fonctions originales de MyBatis.
3. Hautes performances
MyBatis-Flex adopte une architecture technique unique. Par rapport à de nombreux frameworks similaires, les performances de MyBatis-Flex en termes d'ajout, de suppression, de modification et de requête sont 5 à 10 fois ou plus supérieures à celles de nombreux frameworks similaires.
4. Plus flexible
MyBatis-Flex prend en charge plusieurs clés primaires, requêtes multi-tables, suppressions logiques, verrouillage optimiste, désensibilisation des données, cryptage des données, sources de données multiples, sous-bases de données et sous-tables, autorisations de champ, cryptage de champ, multi-tenants, gestion des transactions, Audit SQL... Etc., etc. Tout cela, gratuit et flexible.
Dans MyBatis-Flex v1.7.3, de nouvelles fonctions liées à la suppression d'associations multi-tables sont ajoutées, telles que :
QueryWrapper qw = QueryWrapper.create()
.from(ACCOUNT).leftJoin(ARTICLE).on(ACCOUNT.ID.eq(ARTICLE.ACCOUNT_ID))
.where(ACCOUNT.USER_NAME.eq("x"));
Le SQL exécuté est le suivant :
DELETE `tb_account` FROM `tb_account`
LEFT JOIN `tb_article` ON `tb_account`.`id` = `tb_article`.`account_id` " +
WHERE `tb_account`.`user_name` = 'x'
Les détails de la mise à jour MyBatis-Flex v1.7.3 sont les suivants :
- Nouveau : Ajout de la prise en charge de la suppression des requêtes d'association multi-tables SQL.
- Nouveau : ajout de méthodes au générateur de code pour faciliter l'obtention de toutes les informations sur les tables dans certains scénarios
Generator.getTables()
- Optimisation : réécrivez la méthode CommonsDialectImpl.wrapColumnAlias afin que SQL n'encapsule pas le mot-clé as
- Optimisation : le générateur de code optimise IDialect et ajoute AbstractJdbcDialect.java
- Optimisation : ajoutez @SafeVarargs à certaines méthodes génériques de QueryModel pour éliminer les avertissements de l'IDE. Merci @Guan Mengyuan
- Réparation : correction de la situation où la requête de type de base fieldMapping est nulle, merci @Guan Mengyuan
- Correctif : la configuration de l'écouteur multi-global est peut-être manquante, merci @Ice-samll
- Correctif : Configurez le schéma de la table secondaire associée à la table, et le schéma est perdu lors de l'interrogation de la table secondaire. Merci à @Font_C
- Test : ajoutez des tests de code associés à fieldMapping, merci @Guan Mengyuan
- Test : ajout d'un test d'insertion de base de données fixe manquant à l'écouteur global, grâce à @Ice-samll
Pour les contributeurs de code, veuillez vous référer à : https://mybatis-flex.com/zh/intro/what-is-mybatisflex.html#%E8%B4%A1%E7%8C%AE%E8%80%85
Pour en savoir plus sur le framework MyBatis-Flex, veuillez vous référer au lien :
- 1. Démarrage rapide : https://mybatis-flex.com/zh/intro/getting-started.html
- 2. Requête associée à plusieurs tables : https://mybatis-flex.com/zh/base/query.html
- 3. Un-à-plusieurs, plusieurs-à-un : https://mybatis-flex.com/zh/base/relations-query.html
- 4. QueryWrapper flexible : https://mybatis-flex.com/zh/base/querywrapper.html
- 5. Suppression logique : https://mybatis-flex.com/zh/core/logic-delete.html
- 6. Verrouillage optimiste : https://mybatis-flex.com/zh/core/version.html
- 7. Remplissage des données : https://mybatis-flex.com/zh/core/fill.html
- 6. Désensibilisation des données : https://mybatis-flex.com/zh/core/mask.html
- 7. Audit SQL : https://mybatis-flex.com/zh/core/audit.html
- 8. Sources de données multiples : https://mybatis-flex.com/zh/core/multi-datasource.htm
- 9. Cryptage de la source de données : https://mybatis-flex.com/zh/core/datasource-encryption.html
- 10. Nom de la table dynamique : https://mybatis-flex.com/zh/core/dynamic-table.html
- 11. Gestion des transactions : https://mybatis-flex.com/zh/core/tx.html
- 12. Autorisation des données : https://mybatis-flex.com/zh/core/data-permission.html
- 13. Autorisations de champ : https://mybatis-flex.com/zh/core/columns-permission.html
- 14. Chiffrement des champs : https://mybatis-flex.com/zh/core/columns-encrypt.html
- 15. Réécriture du dictionnaire : https://mybatis-flex.com/zh/core/columns-dict.html
- 16. Propriétés d'énumération : https://mybatis-flex.com/zh/core/enum-property.html
- 17. Multilocation : https://mybatis-flex.com/zh/core/multi-tenancy.html
- 18. Générateur de code : https://mybatis-flex.com/zh/others/codegen.html
- 19. Groupe de communication QQ : https://mybatis-flex.com/zh/intro/qq-group.html
- 20. De meilleures fonctionnalités sont en route : https://mybatis-flex.com
Tutoriel vidéo bilibili (gratuit) :
Cours 1 : « Tutoriel vidéo MyBatis-Flex »
Introduction du cours : Ce cours est enregistré et enseigné par le professeur Wang Shuai . Le professeur Wang Shuai est également le committer qui a le plus contribué au code MyBatis-Flex en plus de l'auteur. Il possède une compréhension très approfondie de MyBatis et de MyBatis-Flex.
Adresse du cours :
https://www.bilibili.com/video/BV11h411A7cU
Cours 2 : "MyBatis-Flex est facile à maîtriser, un tutoriel complet depuis zéro base jusqu'aux applications avancées !" Mise à jour continue ~》
Introduction du cours : Ce cours est enregistré par le professeur Zhou You. Le professeur Zhou You a de nombreuses années d'expérience en développement et une riche expérience en enseignement. Il peut expliquer de nombreux principes de MyBatis-Flex d'une manière simple et facile à comprendre.
Adresse du cours :
https://www.bilibili.com/video/BV1kF411r7ky
De plus, l'équipe MyBatis-Flex a open source deux autres composants React avancés. Les étudiants qui les utilisent peuvent également y prêter attention :
- Antd-bpmn : un composant workflow de haut niveau écrit basé sur React + Ant.design + bpmn.js, URL open source : https://gitee.com/antdadmin/antd-bpmn
- Antd-crud : un composant React de haut niveau [ajouter, supprimer, modifier, vérifier] de haute qualité, basé sur Ant.Design. URL open source : https://gitee.com/antdadmin/antd-crud