IDEA で mysql8.0.3 と mybatis-generator を使用する際に発生するバグ

IDEA で mysql8.0.3 と mybatis-generator を使用する際に発生するバグ

1. プラグインを追加し、pomファイルの下に次の設定を追加します。

<!-- mybatis-generator -->
  <プラグイン>
  <groupId>org.mybatis.generator</groupId>
  <artifactId>mybatis-generator-maven-plugin</artifactId>
  <バージョン>1.3.5</バージョン>
  <構成>
   <構成ファイル>
   <!-- generatorConfig.xml を構成するためのパスです。指定されていない場合、generatorConfig.xml ファイルはデフォルトでリソース ディレクトリにあります。 -->
   </configurationFile>
   <verbose> 真</verbose>
   <overwrite>真</overwrite>
  </構成>
  <依存関係>
   <依存関係>
   <グループID>mysql</グループID>
   <artifactId>mysql-コネクタ-java</artifactId>
   <バージョン>8.0.11</バージョン>
   </依存関係>
  </依存関係>
  </プラグイン>

2. リソースの下に次の内容の generatorConfig.xml を作成します。

<?xml バージョン="1.0" エンコーディング="UTF-8"?>
<!DOCTYPE ジェネレーター設定
 PUBLIC "-//mybatis.org//DTD MyBatis ジェネレーター設定 1.0//EN"
 「http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd」を参照してください。
<ジェネレーター構成>
 <!-- コンテキストはリバースエンジニアリングの主な構成情報です -->
 <!-- id: 名前を付ける-->
 <!-- targetRuntime: 生成されたファイルをその mybatis バージョンに適用するように設定します -->
 <コンテキスト id="default" targetRuntime="MyBatis3">
 <!-- オプション、クラス作成時のコメントの制御を指します -->
 <コメントジェネレータ>
  <プロパティ名="suppressDate" 値="true"/>
  <!-- 自動生成されたコメントを削除するかどうか true: yes: false: no -->
  <プロパティ名="suppressAllComments" 値="true"/>
 </コメントジェネレータ>
 <!--jdbc データベース接続 wg_insert はデータベース名です-->
 <jdbcConnection ドライバークラス="com.mysql.cj.jdbc.Driver"
   connectionURL="jdbc:mysql://localhost:3306/wg_insert?useUnicode=true&amp;characeterEncoding=utf-8&amp;ser​​verTimezone=UTC" ユーザーID="root"
   パスワード="123456"></jdbcConnection>
 <!-- オプション、型プロセッサ、データベース型と Java 型間の変換制御 -->
 <javaTypeResolver>
  <!-- デフォルトでは、データベース内の 10 進数と bigInt は、Java の sql の BigDecimal クラスに対応します -->
  <!-- double 型または long 型ではありません -->
  <!-- sql パッケージでは参照型の代わりに共通の基本型を使用します -->
  <プロパティ名="forceBigDecimals" 値="false"/>
 </javaTypeResolver>
 <!-- targetPackage: 生成されたエンティティ クラスが配置されているパッケージ -->
 <!-- targetProject: 生成されたエンティティ クラスが配置されているハード ディスクの場所 -->
 <javaModelGenerator ターゲットパッケージ="com.wglvzyx.mybatisredis.entity"
    ターゲットプロジェクト="src/main/java">
  <!-- サブパッケージを許可するかどうか -->
  <プロパティ名="enableSubPackages" 値="false"/>
  <!-- モーダルにコンストラクタを追加するかどうか -->
  <プロパティ名="コンストラクタベース" 値="true"/>
  <!-- データベースからクエリされた文字列の両側の空白文字を削除するかどうか -->
  <プロパティ名="trimStrings" 値="true"/>
  <!-- モーダル オブジェクトが不変であるかどうかを確認します。つまり、生成されたモーダル オブジェクトにはセッター メソッドがなく、コンストラクターのみが含まれます -->
  <プロパティ名="不変" 値="false"/>
 </javaModelGenerator>
 <!-- targetPackage および targetProject: 生成されたマッパー ファイルのパッケージと場所 -->
 <sqlMapGenerator ターゲットパッケージ="マッパー"
    ターゲットプロジェクト="src/main/resources">
  <!-- データベース構成の場合、サブパッケージ名としてスキーマを使用するかどうか -->
  <プロパティ名="enableSubPackages" 値="false"/>
 </sqlMapGenerator>
 <!-- targetPackage と targetProject: 生成されたインターフェース ファイルのパッケージと場所 -->
 <javaClientGenerator タイプ="XMLMAPPER"
    ターゲットパッケージ="com.wglvzyx.mybatisredis.dao" ターゲットプロジェクト="src/main/java">
  <!-- Oracle データベースの構成の場合、スキーマをサブパッケージ名として使用するかどうか -->
  <プロパティ名="enableSubPackages" 値="false"/>
 </javaClientGenerator>
 <!-- tableName はデータベース内のテーブル名、domainObjectName は生成された JAVA モデル名です。以下のパラメータは変更する必要はありません。さらにテーブルを生成する場合は、以下のテーブル タグを追加し続けます -->
 <table テーブル名="学生" ドメインオブジェクト名="学生"
  enableCountByExample="false" enableUpdateByExample="false"
  enableDeleteByExample="false" enableSelectByExample="false"
  selectByExampleQueryId="false"></table>
 </コンテキスト>
</ジェネレーター構成>

3. 実行には 2 つの方法があります。

方法1:

Intellij IDEA に「実行」オプションを追加し、Maven を使用して mybatis-generator-maven-plugin プラグイン (mybatis-generator:generate -e) を実行します。

ここに画像の説明を挿入

方法2:

右側の Maven パネルを開き、プラグインの Mybatis-generator の下にある mybatis-generator:generate を開き、右クリックして Run Maven Build! を実行します。

ここに画像の説明を挿入

知らせ:

私はmysql-8.0.11を使用しているため

構成が異なります

重要なのは、新しいバージョンに新しい機能があることです。まず、最新の公式サポートは、com.mysql.jdbc.Driver を com.mysql.cj.jdbc.Driver に変更することです。さらに、mysql8.0 では SSL 接続を確立する必要はありません。明示的にオフにする必要があります。つまり、URL で useSSL=false と指定します。最後に、米国、オーストラリア、キューバ、または中国の標準時間とみなされる CST を設定する必要があります。 serverTimezone はタイムゾーンを設定するために使用されます。詳細については関連情報を確認してください。

jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&serverTimezone=UTC
jdbc.ユーザー名=root
jdbc.パスワード=123456

これで、IDEA と MySQL 8.0.3 で mybatis-generator を使用する際の落とし穴に関するこの記事は終了です。IDEA で MySQL と mybatis-generator を使用する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL 8.0.24 バージョンのインストールと設定方法のグラフィックチュートリアル
  • MySQL 8.0.24 リリースノートのいくつかの改善点
  • MySQLのMVCCマルチバージョン同時実行制御の実装
  • MySQL 8.0.23のルートパスワードをリセットするための最適なソリューション
  • MySql8.0バージョンに接続するMyBatisの設定問題について
  • SeataがMySQL 8バージョンを使用できない問題を解決する方法
  • DBeaver を MySQL バージョン 8 以降に接続し、起こりうる問題を解決する方法の詳細な説明
  • MySQL 5.x の文字化け問題の解決方法
  • CentOS 7 に MySQL 8.0.20 データベースをインストールするための詳細なチュートリアル
  • Mysql5.7 以降での ONLY_FULL_GROUP_BY エラーの解決方法
  • mysql8.0.19 winx64バージョンのインストール問題を解決する
  • Django 2.2 と PyMySQL バージョンの互換性の問題
  • MySQL 5.7 をバイナリモードでインストールし、Linux でシステムを最適化する手順
  • MySQL 8.0.18 のさまざまなバージョンのインストールとインストール中に発生した問題 (要点の要約)
  • MySQLのバージョンアップ方法を超詳しく解説

<<:  http.server に基づく LAN サーバーの構築プロセスの分析

>>:  Vueのプラグインの仕組みとインストールの詳細を深く理解する

推薦する

W3C チュートリアル (14): W3C RDF および OWL アクティビティ

RDF と OWL は、2 つの重要なセマンティック ウェブ テクノロジーです。 RDF と OWL...

HTML は CSS スタイルと JS スクリプトを動的に読み込みます。例

1. スクリプトを動的に読み込むウェブサイトの需要が高まるにつれて、スクリプトの需要も徐々に増加しま...

Angularの単一プロジェクトを複数プロジェクトにアップグレードするプロセス全体

目次序文開発環境新しいプロジェクトを作成するモバイルウェブプロジェクト角度付きJSONパブリックモジ...

MySQLが正常にインストールされたかどうかを確認する方法

MySQL をインストールした後、DOS ウィンドウまたは MySQL 5.7 コマンドライン クラ...

MySQL接続クエリの原理と応用

概要MySQL の最も強力な機能の 1 つは、データ取得を実行しながらテーブルを結合できることです。...

MySQL でインデックスとして B+Tree を使用する利点は何ですか?

目次データベースにインデックスが必要なのはなぜですか?インデックスが B+Tree データ構造を使用...

WindowsでiTunesのバックアップパスを変更する方法

0. 準備: • iTunesを閉じる• タスクマネージャーでiTunesから始まるサービスを終了し...

Linux環境でグラフデータベースneo4jを構築する方法の説明

Neo4j (Nosql の 1 つ) は、高性能なグラフ データベース (分散をサポートしていませ...

フォーム内のどの隠し属性をフォームとともに送信できるか

フォーム内の visibility=hidden および display=none のフォーム要素は...

Nginxのアクセスボリューム制御の詳細な説明

目的リクエスト アクセス ボリュームを制御するための Nginx ngx_http_limit_co...

Mysqlマスタースレーブ同期の実装原理

1. MySQL マスター/スレーブ同期とは何ですか?マスター データベースのデータが変更されると、...

IE6のバグと修正は予防戦略です

元記事:究極の IE6 チートシート: 25 以上の Internet Explorer 6 のバグ...

Linux の EXT シリーズファイルシステムフォーマットの詳細な説明

Linux ファイルシステム一般的なハードディスクは上図のとおりです。各ディスクは複数のトラックに分...

MySQL IN ステートメントにおける低速クエリの効率を最適化する手法の例

表の構造は以下のとおりです。記事数は690件のみです。 記事テーブル article(id,titl...

MySQLのデッドロックチェック処理の通常の方法

通常、デッドロックが発生すると、重みが最も小さい接続が強制終了され、ロールバックされます。ただし、最...