Pourquoi ai-je besoin de mybatis
MyBatis est un cadre Java Orm et Orm a émergé pour simplifier le développement. La méthode de développement initiale était que la logique métier et la logique de requête de la base de données ont été séparées, soit en écrivant des instructions SQL dans un programme, soit en appelant des procédures stockées SQL. Cela conduit à la nécessité de basculer entre la logique linguistique et la logique SQL, entraînant un développement inefficace. Par conséquent, une série de cadres ORM ont émergé. Le cadre ORM correspond aux tables de base de données et aux objets Java. Lors de l'exploitation de la base de données, il vous suffit d'exploiter les objets Java de l'objet, tels que la définition de plusieurs et des conditions, et de définir uniquement quelques attributs.
Pourquoi ai-je besoin du générateur mybatis
Bien qu'il existe le cadre MyBatis, l'apprentissage de MyBatis nécessite également des coûts d'apprentissage, en particulier la configuration des fichiers XML dont il a besoin, ce qui est assez lourd, et des erreurs se produisent dans la configuration, ce qui n'est pas facile à localiser. Lorsqu'il y a des erreurs inexplicables ou de grandes quantités d'objets qui doivent être générées, il y a souvent un sentiment de réticente à vivre et à errer dans l'esprit. Par conséquent, le générateur Mybatis a vu le jour.
Il ne nécessite que une configuration simple pour compléter la génération de grandes quantités de tables vers les objets Java MyBatis. Il est non seulement rapide, mais n'a pas non plus d'erreurs, permettant aux développeurs de se concentrer vraiment sur le développement de la logique commerciale.
La fonction officielle du générateur MyBatis est relativement simple, et elle n'a pas été implémentée pour des fonctions de pagination légèrement complexes, des fonctions d'insertion par lots, etc. qui sont inévitablement utilisées dans le développement, mais il a des fonctions de plug-in matures prises en charge.
J'ai mis l'outil de génération MyBatis que nous utilisons habituellement à GitHub, qui a des fonctions de pagination, d'insertion par lots et de sérialisation intégrées. Vous pouvez le vérifier ici et avez déjà introduit comment l'utiliser.
Structure de fichiers du générateur MyBatis
Le fichier généré contient trois catégories:
1. Fichier d'entité du modèle, un tableau de base de données génère une entité de modèle;
2.Modelexample Fichier, ce fichier et ce fichier entité sont dans le même répertoire et sont principalement utilisés pour interroger la construction conditionnelle;
3. Les méthodes de fichiers et de données d'interface Mapper sont définies dans cette interface;
4. Fichier de configuration XML de Mapper;
Configurez le chemin de génération de fichiers dans le fichier de configuration et définissez le nom du package correspondant pour générer la structure et les fichiers du répertoire correspondant. J'ai défini le répertoire généré sur le répertoire de test, le nom du package d'entité est com.fengzheng.dao.entity, le nom du package d'interface est com.fengzheng.dao.mapper, puis la structure du répertoire de fichiers généré est indiquée dans la figure ci-dessous:
Comment écrire du code
Tous les appels de méthode proviennent du fichier d'interface généré. Dans Spring MVC, il est nécessaire de le déclarer sur l'appelant. En utilisant une interface noire à titre d'exemple, le fichier d'interface généré est BlackListipMapper, donc l'appelant doit déclarer cette interface, comme suit:
@AutowiredPrivate BlackListipMapper BlackListipMapper;
Requête de base de données
La requête est la fonction la plus couramment utilisée. La méthode suivante consiste à interroger les enregistrements dont l'IP est une certaine valeur. Si vous connaissez la clé principale, vous pouvez utiliser la méthode SelectByPrimaryKey.
public BlackListip Get (String ip) {BlackListipexample Example = new BlackListIpExample (); Example.CreateCriteria (). AndipeQualto (ip); list <BlackliStip> BlackListiplist = BlackListMapper.SelectByExample (Exemple); if (BlackliStiplist! = null && BlackListipList.Size ()> 0) {Return BlackListlist.get. La méthode d'appel de la méthode est similaire. Pour plus de détails, veuillez consulter l'introduction des documents pertinents.
Trier
public BlackListip Get (String ip) {BlackListIpexample Example = new BlackListIpexample (); Example.SetOrderByClause ("Create_time Desc"); // Trier par la création Time Example.CreateCriteria (). Andipequalto (ip); list <BlackListIp> BlackListIpList = BlackListMapper.SelectByExample (Exemple); if (BlackListiplist! = Null && BlackliStiplist.Size ()> 0) {return BlackliStiplist.get (0);} retour null;}Pagination
public PageInfo List (compte Compte, pageInfo PageInfo, String starttime, String Fintime) {compte {example.setLimitClauSesTart (pageInfo.getPageStart ()); example.setLimitClauSeCount (pageInfo.getPageCount ());} exampe.setorderByClause ("Create_time Desc"); list <compte> list = accountMapper.SelectByExample (example); int totalCount = accountMapper.CountByExample (Exemple); pageInfo.SetList (list); pageInfo.SetTotalCount (totalCount); return pageInfo;} Implémenter des conditions de requête telles que a = x et (b = xx ou b = xxx)
Bien qu'il soit pratique de générer automatiquement du code, tout a ses avantages et ses inconvénients. Le générateur MyBatis n'a aucun moyen de générer une fonction de jointure de table, donc elle ne peut être ajoutée qu'à manuellement. L'épissage conditionnel tel que a = x et (b = xx ou b = xxx) est implémenté comme suit.
Accountexample Accountexample = new comptontexample (); comptvenExample.criteria critères = comptvenExample.CreateCriteria (). AndTypeEqualto ("4"); critères.addcriterion (String.format ("(id =% d ou id =% d)", 34,35)); list <cate> actes = comptets = accountMapper.SelectByExample (comptontexample); return comptes; Cependant, vous devez modifier un peu de code, modifier la 524e ligne d'exempleGenerator sous le package org.mybatis.generator.codegen.mybatis3.model, modifier la méthode.setVisiabilité (javavisability.protected); à la méthode.setVisibility (javavisability.public);
Les changements ont été synchronisés avec GitHub.
Ce qui précède est le code et l'utilisation du générateur MyBatis qui vous est présenté par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!