気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

DBアクセス MyBatisの各種ファイルを自動生成するための設定

公式の下記ページをGoogle翻訳した手順を貼っておく。

MyBatis各種ファイル自動設定 http://www.mybatis.org/generator/index.html

MyBatis各種ファイル自動生成する

以下、翻訳したものを引用

eclipseマーケットプレイスで、プラグイン「MyBatis Generator」を検索して、インストール

②構成ファイルを作成します。 ファイル>新規>その他 [MyBatis]カテゴリから[MyBatis Generator構成ファイル]を選択し、[次へ]をクリックします。 ファイルの場所とファイルの名前を指定します(デフォルトはgeneratorConfig.xml)。 ウィザードを終了する

③設定ファイルを書く 少なくとも、以下を指定する必要があります。 ・ターゲットデータベースへの接続方法を指定するjdbcConnection情報 ・javaModelGeneratorのターゲットパッケージとターゲットプロジェクト ・sqlMapGeneratorのターゲットパッケージとターゲットプロジェクト ・ターゲットパッケージ、ターゲットプロジェクト、およびjavaClientGeneratorのタイプ(またはJavaクライアントを生成したくない場合は、javaClientGenerator要素を削除できます) ・少なくとも1つのデータベーステーブル

ファイルを保存する

Eclipseのナビゲーター、またはパッケージ・エクスプローラーの構成ファイルを右クリックして、メニュー・オプション「Run As> Run MyBatis Generator」を表示してください。

自動生成コマンド実行時に発生したエラー

C:\work\workspace\.metadata\.plugins\org.mybatis.generator.eclipse.ui\.generatedAntScripts\sample-generationConfig.xml.xml:4:
The server time zone value ' (W)' is unrecognized or represents more than one time zone. 
You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
    <!-- スキーマ情報を取得する DB への接続設定 -->
    <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
        connectionURL="jdbc:mysql://localhost:3306/db_name"

接続先URLに「?serverTimezone=JST」とパラメータを付与して回避。

  javax.net.ssl.SSLException

  MESSAGE: closing inbound before receiving peer's close_notify

自動生成時のコンソールに上記エラー発生。「useSSL=false」もURLに付与してみたりしたが、今度は自動生成できなくなったので。一旦、放置。。

DBコネクションクローズ時のエラーのため、ファイル自体は生成できていた。