ホームページ > Java > &#&チュートリアル > Java Fluent Mybatis がプロジェクトを構築し、コード生成を実装する方法

Java Fluent Mybatis がプロジェクトを構築し、コード生成を実装する方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2023-05-03 10:07:14
転載
1401 人が閲覧しました

機能

公式機能マップをご覧ください

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

一見すると非常に包括的ないくつかの機能が示されており、その中にはより魅力的なものもあります。私の場合は2点です。

1. この図に示されている構文は SQL に非常によく似ており、注意して見ないと、直接 SQL ステートメントがスローされたと思われるでしょう。より実用的に見えます。

2. mybatis-plus はほとんどの SQL 操作を実装するための IService インターフェイスを実装していますが、xml&mapper はありません

プロジェクトの構築

springboot でプロジェクトを構築するプロセスはそれほど複雑ではありません。詳細は省きますが、これが私の実用的な Springboot バージョンです。

1

2

3

4

5

6

<parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>2.5.5</version>

        <relativePath/> <!-- lookup parent from repository -->

    </parent>

ログイン後にコピー

コード構造は次のとおりです。

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

Maven 依存関係の導入-fluent-mybatis

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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

ログイン後にコピー

Maven の完全な依存関係は次のとおりです

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

<!--?xml version="1.0" encoding="UTF-8"?-->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelversion>4.0.0</modelversion>

    <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>2.5.5</version>

        <relativePath/> <!-- lookup parent from repository -->

    </parent>

    <groupid>com.hy</groupid>

    <artifactid>fluent-mybatis-project</artifactid>

    <version>0.0.1-SNAPSHOT</version>

    <name>fluent-mybatis-project</name>

    <description>Demo project for Spring Boot</description>

    <properties>

        <java.version>1.8</java.version>

        <fluent-mybatis.version>1.8.7</fluent-mybatis.version>

    </properties>

    <dependencies>

        <dependency>

            <groupid>org.springframework.boot</groupid>

            <artifactid>spring-boot-starter-web</artifactid>

        </dependency>

  

        <dependency>

            <groupid>org.springframework.boot</groupid>

            <artifactid>spring-boot-devtools</artifactid>

            <scope>runtime</scope>

            <optional>true</optional>

        </dependency>

        <dependency>

            <groupid>org.springframework.boot</groupid>

            <artifactid>spring-boot-configuration-processor</artifactid>

            <optional>true</optional>

        </dependency>

        <dependency>

            <groupid>org.projectlombok</groupid>

            <artifactid>lombok</artifactid>

            <optional>true</optional>

        </dependency>

        <dependency>

            <groupid>org.springframework.boot</groupid>

            <artifactid>spring-boot-starter-test</artifactid>

            <scope>test</scope>

        </dependency>

        <dependency>

            <groupid>org</groupid>

            <artifactid>jaudiotagger</artifactid>

            <version>2.0.1</version>

        </dependency>

        <dependency>

            <groupid>com.google.guava</groupid>

            <artifactid>guava</artifactid>

            <version>30.1.1-jre</version>

        </dependency>

        <dependency>

            <groupid>cn.hutool</groupid>

            <artifactid>hutool-all</artifactid>

            <version>5.5.2</version>

        </dependency>

        <!-- 引入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>

        <dependency>

            <groupid>org.mybatis.spring.boot</groupid>

            <artifactid>mybatis-spring-boot-starter</artifactid>

            <version>2.2.0</version>

        </dependency>

  

        <dependency>

            <groupid>mysql</groupid>

            <artifactid>mysql-connector-java</artifactid>

            <scope>runtime</scope>

        </dependency>

    </dependencies>

  

    <build>

        <plugins>

            <plugin>

                <groupid>org.springframework.boot</groupid>

                <artifactid>spring-boot-maven-plugin</artifactid>

                <configuration>

                    <excludes>

                        <exclude>

                            <groupid>org.projectlombok</groupid>

                            <artifactid>lombok</artifactid>

                        </exclude>

                    </excludes>

                </configuration>

            </plugin>

        </plugins>

    </build>

  

</project>

ログイン後にコピー

テーブルの構築

データベースにテスト テーブルを作成します。テーブルは比較的単純なので、最初に試してください。 SQL は次のとおりです。

1

2

3

4

5

6

7

8

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;

ログイン後にコピー

コード生成ツール クラス

注: テスト コード パッケージに入れてください。構造は次のとおりです。

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

コード生成ツールのコード。まず、次のような公式の簡単な例に従います。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

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

  }

}

ログイン後にコピー

コード生成ツールを実行します。を参照してください。何が生成されるかを見てください。

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

生成されたパッケージは次のように確認できます。

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

#クラスが見つからない問題を解決します

ここに穴があります。以下のスクリーンショットを参照してください。

Java Fluent Mybatis如何构建项目与实现代码生成# ##実際、当局は解決策を示しましたが、それについては説明しませんでした。

Java Fluent Mybatis如何构建项目与实现代码生成つまり、コンパイルには maven を使用する必要があるため、コンパイルします。

Java Fluent Mybatis如何构建项目与实现代码生成#コンパイル後、ターゲット内のエラー パッケージの場所にコンパイルされたファイルが見つかります。

Java Fluent Mybatis如何构建项目与实现代码生成以前にエラーを報告していたクラスは、エラーを報告しなくなりました。完璧。

以上がJava Fluent Mybatis がプロジェクトを構築し、コード生成を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
ヘルプ: JAVA 暗号化データ PHP 復号化
から 1970-01-01 08:00:00
0
0
0
JAVAをインストールする
から 1970-01-01 08:00:00
0
0
0
Javaをインストールできません
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート