Rumah  >  Artikel  >  Java  >  Cara Java Fluent Mybatis membina projek dan melaksanakan penjanaan kod

Cara Java Fluent Mybatis membina projek dan melaksanakan penjanaan kod

WBOY
WBOYke hadapan
2023-05-03 10:07:141260semak imbas

Ciri

Lihat peta ciri rasmi

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

Ia menunjukkan beberapa ciri yang sangat komprehensif pada pandangan pertama, dan salah satu daripadanya lebih menarik Saya mempunyai dua mata.

1. Sintaks yang diberikan dalam gambar sangat serupa dengan sql Jika anda tidak melihat dengan teliti, anda akan menganggap bahawa ia adalah pernyataan sql langsung. Nampak lebih praktikal.

2. Tiada xml&mapper, walaupun mybatis-plus telah melaksanakan antara muka IService untuk melaksanakan kebanyakan operasi sql

Pembinaan projek

Proses membina projek dengan springboot tidak terlalu banyak Tanpa berlengah lagi, berikut ialah versi springboot praktikal saya

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

Struktur kod adalah seperti berikut:

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

pengenalan ketergantungan 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>

Kebergantungan maven yang lengkap adalah seperti berikut



    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
                        
                    
                
            
        
    
 

Pembinaan jadual

Buat jadual ujian dalam pangkalan data Jadualnya agak mudah, jadi cuba dahulu. Sql adalah seperti berikut:

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;

Kelas alat penjanaan kod

Nota: Letakkannya dalam pakej kod ujian. Strukturnya adalah seperti berikut:

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

Kod alat penjanaan kod, mula-mula ikut contoh mudah rasmi, seperti berikut:

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 { // 类名随便取, 只是配置定义的一个载体
  }
}

Laksanakan alat penjanaan kod, lihat Lihat apa yang dihasilkan.

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

Anda boleh melihat pakej yang dijana seperti berikut.

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

Menyelesaikan masalah kelas tidak dijumpai

Ada lubang di sini, lihat tangkapan skrin di bawah

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

Malah, penyelesaian rasmi telah diberikan, tetapi tidak dijelaskan.

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

Ringkasnya, anda perlu menggunakan maven untuk menyusunnya, jadi kami menyusunnya.

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

Selepas penyusunan, kita boleh mencari fail yang disusun dalam lokasi pakej ralat dalam sasaran.

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

Kelas yang melaporkan ralat sebelum ini tidak lagi melaporkan ralat. Sempurna.

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

Atas ialah kandungan terperinci Cara Java Fluent Mybatis membina projek dan melaksanakan penjanaan kod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam