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のプラグインの仕組みとインストールの詳細を深く理解する

推薦する

MySQLステートメントの記述と実行順序を理解するだけです

MySQL ステートメントの書き込み順序と実行順序には大きな違いがあります。書き順、mysql の一...

MySQLで重複行を削除する方法

SQL文 /* MySQL で重複行を削除するいくつかの方法 ---Chu Minfei ---20...

CentOS 7 で MySQL 5.7.23 をアップグレードする際の落とし穴と解決策

序文最近、CentOS 7 で MySQL 5.7.23 をアップグレードする際に落とし穴を発見しま...

MySQLは1つのテーブルからデータをクエリし、それを別のテーブルに挿入する実装方法

MySQLは1つのテーブルからデータをクエリし、それを別のテーブルに挿入する実装方法ウェブサイト開発...

Flash での HTML と CSS の適用

Flash での HTML と CSS の適用:同僚の Den が Flash で HTML と C...

HTML ファイルにフラッシュ ビデオ形式 (flv、swf) ファイルを埋め込む方法

Flash ファイル形式: .FLV および .SWFフラッシュ ビデオ形式には、.flv と .s...

Windows でのシンプルな Mysql バックアップ BAT スクリプトの共有

序文この記事では、Windows で Mysql をバックアップするための簡単な BAT スクリプト...

知っておくべき 18 の Web ユーザビリティの原則

世界最高のビジュアル デザイン スキルを持っていたとしても、訪問者がページ間やアイテム間を快適に移...

DockerにTomcat8をインストールする方法

1. dockerでtomcat8をインストールする1. Docker HubでTomcatイメージ...

CSS 配置レイアウト (位置、配置レイアウト スキル)

1. ポジショニングとは何ですか? CSS の position 属性には、absolute/re...

重複したMySQLレコードを現場でチェックし、処理する実践的な記録

目次序文分析するデータ合計繰り返し率どこにあるかと持っているかの違い要約する序文私はソフトウェアの導...

MySQL クロスデータベーストランザクション XA 操作の例

この記事では、例を使用して、MySQL のデータベース間トランザクション XA 操作について説明しま...

CSSで半透明の背景色を実現する2つの方法について簡単に説明します。

ページをレイアウトする際、ユーザーに異なる視覚効果を与えるために、div の背景色を半透明の状態に設...

CSSで検索ボックスを非表示にする機能を実装します(アニメーション順方向と逆方向のシーケンス)

上部のメニュー バーに検索ボックスを配置するのは一般的なシナリオですが、検索機能がそれほど頻繁に使用...

入力テキスト ボックスと画像検証コードの位置合わせの問題 (画像は常に入力より 1 つ上になります)

Web ページ制作では、input と img が同じ行に配置されることが多く、img タグが常に ...