Maison > Java > javaDidacticiel > Comment Java Fluent Mybatis crée des projets et implémente la génération de code

Comment Java Fluent Mybatis crée des projets et implémente la génération de code

WBOY
Libérer: 2023-05-03 10:07:14
avant
1344 Les gens l'ont consulté

Caractéristiques

Regardez la carte officielle des fonctionnalités

Java Fluent Mybatis如何构建项目与实现代码生成

À première vue, elle montre plusieurs fonctionnalités assez complètes Parmi elles, deux points me paraissent plus attrayants.

1. La syntaxe donnée dans l'image est très similaire à SQL Si vous n'y regardez pas attentivement, vous penseriez qu'il s'agit d'une instruction SQL directe. Cela a l'air plus pratique.

2. Pas de xml&mapper, bien que mybatis-plus ait implémenté l'interface pratique IService pour implémenter la plupart des opérations SQL

Construction de projet

Le processus de construction d'un projet Springboot ne sera pas décrit en détail. Voici ma version pratique de Springboot

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
Copier après la connexion
.

La structure du code est la suivante :

Java Fluent Mybatis如何构建项目与实现代码生成

Introduction à la dépendance Maven -fluent-mybatis

<properties>
    <fluent-mybatis.version>1.8.7</fluent-mybatis.version>
</properties>
<dependencies>
    <!-- 引入fluent-mybatis 运行依赖包, scope为compile -->
    <dependency>
        <groupId>com.github.atool</groupId>
        <artifactId>fluent-mybatis</artifactId>
        <version>${fluent-mybatis.version}</version>
    </dependency>
    <!-- 引入fluent-mybatis-processor, scope设置为provider 编译需要,运行时不需要 -->
    <dependency>
        <groupId>com.github.atool</groupId>
        <artifactId>fluent-mybatis-processor</artifactId>
        <scope>provided</scope>
        <version>${fluent-mybatis.version}</version>
    </dependency>
</dependencies>
Copier après la connexion

La dépendance complète de Maven est la suivante



    4.0.0
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    com.hy
    fluent-mybatis-project
    0.0.1-SNAPSHOT
    fluent-mybatis-project
    Demo project for Spring Boot
    
        1.8
        1.8.7
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        
 
        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        
        
            org.springframework.boot
            spring-boot-configuration-processor
            true
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org
            jaudiotagger
            2.0.1
        
        
            com.google.guava
            guava
            30.1.1-jre
        
        
            cn.hutool
            hutool-all
            5.5.2
        
        
        
            com.github.atool
            fluent-mybatis
            ${fluent-mybatis.version}
        
        
        
            com.github.atool
            fluent-mybatis-processor
            provided
            ${fluent-mybatis.version}
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.0
        
 
        
            mysql
            mysql-connector-java
            runtime
        
    
 
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                        
                            org.projectlombok
                            lombok
                        
                    
                
            
        
    
 
Copier après la connexion

Construction de table

Créer une table de test dans la base de données La table est relativement simple. , essayez-le d'abord. Le SQL est le suivant :

CREATE TABLE `test_fluent_mybatis` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT &#39;自增主键&#39;,
  `name` varchar(255) DEFAULT NULL COMMENT &#39;姓名&#39;,
  `age` int DEFAULT NULL COMMENT &#39;年龄&#39;,
  `create_time` datetime DEFAULT NULL COMMENT &#39;创建时间&#39;,
  `del_flag` int DEFAULT NULL COMMENT &#39;是否删除&#39;,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
Copier après la connexion

Classe d'outil de génération de code

Remarque : placez-le dans le package de code de test. La structure est la suivante :

Java Fluent Mybatis如何构建项目与实现代码生成

Code de l'outil de génération de code, suivez d'abord l'exemple simple donné par le responsable, comme suit :

package com.hy.fmp;
 
import cn.org.atool.generator.FileGenerator;
import cn.org.atool.generator.annotation.Table;
import cn.org.atool.generator.annotation.Tables;
import org.junit.jupiter.api.Test;
 
public class EntityGeneratorDemo {
  // 数据源 url
  static final String url =
      "jdbc:mysql://192.168.0.16:3306/test?useUnicode=true&characterEncoding=utf8";
  // 数据库用户名
  static final String username = "root";
  // 数据库密码
  static final String password = "123456";
 
  @Test
  public void generate() throws Exception {
    // 引用配置类,build方法允许有多个配置类
    FileGenerator.build(Empty.class);
  }
 
  @Tables(
      // 设置数据库连接信息
      url = url,
      username = username,
      password = password,
      // 设置entity类生成src目录, 相对于 user.dir
      srcDir = "src/main/java",
      // 设置entity类的package值
      basePack = "com.hy.fmp.fluent",
      // 设置dao接口和实现的src目录, 相对于 user.dir
      daoDir = "src/main/java",
      // 设置哪些表要生成Entity文件
      tables = {@Table(value = {"test_fluent_mybatis"})})
  static class Empty { // 类名随便取, 只是配置定义的一个载体
  }
}
Copier après la connexion

Exécutez l'outil de génération de code et voyez ce qui est généré.

Java Fluent Mybatis如何构建项目与实现代码生成

Vous pouvez voir le package généré comme suit.

Java Fluent Mybatis如何构建项目与实现代码生成

Solution au problème de classe non trouvée

Il y a un gouffre ici, voir la capture d'écran ci-dessous

Java Fluent Mybatis如何构建项目与实现代码生成

En fait, la solution officielle est fournie, mais il n'y a aucune explication à ce sujet.

Java Fluent Mybatis如何构建项目与实现代码生成

En bref, vous devez utiliser maven pour le compiler, alors compilons-le.

Java Fluent Mybatis如何构建项目与实现代码生成

Après la compilation, nous pouvons retrouver le fichier compilé à l'emplacement du package d'erreur dans la cible.

Java Fluent Mybatis如何构建项目与实现代码生成

Les classes qui ont signalé des erreurs auparavant ne signalent plus d'erreurs. Parfait.

Java Fluent Mybatis如何构建项目与实现代码生成

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal