注目記事

【Javaコード入門】データベース_①データベースの準備

データベース連携アプリを作成するためには、以下の準備が必要です。

[1]データベースをインストールする

まずは、接続先のデータベースをインストールしておきましょう。
データベース(DBMS)には、商用製品からオープンソースのものまで、さまざまな製品があります。Javaでは、現在よく利用されているデータベース(DBMS)であれば、ほぼ問題なく利用できますが、本稿では検証環境としてMySQL 9.1.0を利用するものとします。
MySQLは、以下のページからダウンロードできます。

ダウンロードしたインストールファイルmysql-9.1.0-winx64.msiをダブルクリックすると、インストーラーが起動しますので、あとはほとんどウィザードに沿って進めていくだけです。なんらかの選択/入力が必要な箇所は2点です。
まず、インストールの種類を訊かれる個所がありますので、[Typical]を選択して先に進んでください。

mysql_inst

▲インストールの種類を選択

[2]Connector/Jをインストールする

Connector/Jは、JDBCドライバーと呼ばれるライブラリで、JDBCからMySQLに接続するために必要となります。
以下のページからダウンロードできます。

[Select Operating System:]から[Platform lndependent]を選択して、mysql-connector-j-9.1.0.zipをダウンロードします。
ダウンロードしたファイルを任意のフォルダー(本項では、C:\Program Files\MySQL\mysql-connector-j-9.1.0)に展開します。

インストールを進めていくと、サーバーのインストール後に設定ウィザードが起動します。途中、Rootアカウントのパスワードを訊かれますので、第3者に類推されにくい値を入力しておきましょう。あとからデータベースに接続する際に必要となる情報なので、忘れないようにしてください。
本稿では、便宜的に「12345」と設定したものとして解説を進めます。

mysql_config

▲Rootアカウントのパスワードを設定

[3]環境変数PATHを設定する

「開発環境の準備(JDK単体)」ページの手順に従って、環境変数PATHに「C:\Program Files\MySQL\MySQL Server 9.1\bin」を追加しておきます。[3]以降では、PATHが設定されていることを前提に、コマンドを紹介しています。

[4]データベースを作成する

サンプルを動作するために必要なデータベースを作成しておきましょう。データベースのバックアップファイルsample.sqlは、ダウンロードサンプルに含まれています。適当なフォルダー(たとえば「d:\」)にコピーした上で、以下のコマンドを実行してください。

  1. > mysqladmin -u root -p CREATE sample
  2. Enter password: *****(パスワードを入力)
  3. > mysql -u root -p sample
  4. Enter password: ***** (パスワードを入力)
  5. > source d:\sample.sql

これでsampleデータベースができました。sampleデータベースの配下には、以下のようなmembersテーブルが用意されています。

membersテーブルのフィールドレイアウト
フィールド名 データ型 概要
id INT 会員ID(主キー)
nam VARCHAR(255) 氏名
sex CHAR(1) 性別
age INT 年齢

[5]JDBCドライバーを準備する

先ほどインストールしたConnector/J(JDBCドライバー)をアプリにも組み込んでおきましょう。Eclipseであれば、メニューバーの[プロジェクト]-[プロパティ]からプロパティウィンドウを開きます。左ペインから「Javaのビルドパス」を選択し、右ペインから[ライブラリ]タブを選択してください。

add_jar

プロジェクトのプロパティウィンドウ

[外部JARの追加…]ボタンをクリックして、先ほどインストール&展開したConnecor/Jの本体を選択します。選択後、[ライブラリ]タブに「mysql-connector-j-9.1.0.jar」が追加されていれば、ドライバーはプロジェクトに組み込まれています。
以上で、Javaアプリからデータベースを利用するための準備は完了です。

[6]モジュール定義ファイルを編集する

java.sqlパッケージは、標準で有効化されるjava.baseモジュールには含まれません。利用にあたっては、モジュール定義ファイルでrequires宣言しておく必要があります。

module-info.java
  1. module mynavi {
  2.   ...中略...
  3.   requires java.sql;
  4. }
データベース_目次
データベースの準備
データベースに接続/切断する
prepareStatement/executeUpdateメソッド
executeQueryメソッド
setAutoCommit/commit/rollbackメソッド
``