sql >> データベース >  >> RDS >> Mysql

Java、MySQL:MySQLサーバーにJavaプログラムを埋め込む方法はありますか?

    MariaDB(MySQLのオープンソースバリアントで、基本的に同じように機能します)を使用してもかまわない場合は、 MariaDB4j > 実稼働環境に最適なオプションになる可能性があります。

    ユーザーのPCに必要な要件がなくても完全に機能するため、MySQLを組み込むのにおそらく最適なオプションです。組み込みデータベースを使用しないプロジェクトをMariaDB4jに変換するのは、呼び出すのと同じくらい簡単です。

    DB db = DB.newEmbeddedDB(3306);
    

    詳細については、githubページをお読みください。 Mavenの中心的な依存関係は次のとおりです:

    <dependency>
        <groupId>ch.vorburger.mariaDB4j</groupId>
        <artifactId>mariaDB4j</artifactId>
        <version>2.2.3</version>
    </dependency>
    

    これを最新のドライバーと組み合わせて、MySQL 8.0のすべての機能にアクセスできます(win64 / win32 =windows、mac64 =macos、linux64 =linux):

    <dependency>
      <groupId>org.craftercms.mariaDB4j</groupId>
      <artifactId>mariaDB4j-db-win64</artifactId>
      <version>10.4.6.2</version>
    </dependency>
    

    MariaDBを使用してもかまわない場合は、別のオプションとして Wix Embedded MySQL があります。 。

    Wix Embedded MySQL は、統合テスト内で実際のMySqlを実行する方法を提供するライブラリです。



    1. 1つの接続で多くのSQLコマンドを実行するのが良いですか、それとも毎回再接続するのが良いですか?

    2. MySQLVARCHARサイズ制限

    3. 自己参照テーブルのカスケードの削除時

    4. 役割を設定するときにSQLalchemyが変更をコミットしない