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

推薦する

Vue フロントエンド開発における階層的にネストされたコンポーネント間の通信の詳細な説明

目次序文例まとめ序文Vue の親子コンポーネントは、props を通じて親コンポーネントの値を子コン...

Linux システムで Tomcat のポート 80 を使用する方法

アプリケーションシナリオ多くの場合、Linux サーバーに tomcat や nginx などのソフ...

優れたWebフォームデザイン事例20選

ソフィー・ハルダッククライドキー埠頭 37 東ソープボックス Rxバランス EEハーバー対比 SVN...

CentOS 7.6 仮想ネットワーク カードのバッチ追加、変更、削除操作の紹介

1 カーネルにtunモジュールがあるかどうかを確認する modinfo tun modprobe t...

CentOS7 での mysql 5.7.23 のバイナリ インストール

インターネット上のインストール情報は不均一で、落とし穴だらけです。インストールにはかなりの労力がかか...

jsはCanvasを使用して複数の画像を1つの実装コードにマージします

解決 関数 mergeImgs(リスト) { const imgDom = document.cre...

Webpack-cliが正常にインストールされたら、詳細についてはwebpack -vエラーケースを確認してください。

目次質問1. webpack webpack-cliをインストールする2. webpackのバージョ...

ウェブデザインとは何か

<br />元の記事: http://www.alistapart.com/articl...

MySQL クエリ フィールド タイプが json の場合の 2 つのクエリ メソッド

テーブル構造は次のとおりです。 id varchar(32) 情報JSONデータ: id = 1 i...

Vue 仮想 DOM クイックスタート

目次仮想DOM仮想DOMとは何か仮想DOMの役割Vue の仮想 DOM vノードvNodeとはvNo...

vue-cli でレスポンシブ レイアウトを実装する方法

フロントエンド開発を行うと、PCとモバイル端末の適応に必然的に直面することになります。このような問題...

ウェブサイトのパフォーマンス: 画像とCookieの最適化、モバイルアプリケーションの最適化

前のセクションでは、コンテンツ、サーバー、JavaScript、CSS など、Web サイトのパフォ...

CSSラベル表示モードについて1つの記事で学ぶ

タグの種類(表示モード) HTML タグは、一般的にブロック タグとインライン タグの 2 種類に分...

Vueナンバープレート入力コンポーネントの使い方の詳しい説明

参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...

MySQLトリガーの使用

目次1. トリガーの紹介1. トリガーとは何ですか? 2. トリガーの特徴2. トリガーを作成する1...