年収アップ無料転職カウンセリング実施中! | 転職エージェントはマイナビエージェント

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職

データベースの準備

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

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

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

https://dev.mysql.com/downloads/mysql/

ダウンロードしたインストールファイルをダブルクリックすると、インストーラーが起動しますので、あとはほとんどウィザードに沿って進めていくだけです。なんらかの選択/入力が必要な箇所は2点です。
まず、インストールの種類を訊かれる個所がありますので、[Custom]を選択して先に進んでください。その先で、インストールするソフトウェアを訊かれますので、以下のソフトウェアを選択します。Connector/Jは、JDBCドライバーと呼ばれるライブラリで、JDBCからMySQLに接続するために必要となります。
・MySQL Server 8.0.18 – X64
・Connector/J 8.0.18 – X86

インストールするソフトウェアの選択

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

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

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

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

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

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

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

membersテーブルのフィールドレイアウト
フィールド名 データ型 概要
id INT 会員ID(主キー)
nam VARCHAR(255) 氏名
sex CHAR(2) 性別
age INT 年齢
[4]JDBCドライバーを準備する

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

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

[外部JARの追加…]ボタンをクリックして、先ほどインストールしたConnecor/Jの本体を選択します。デフォルトのインストール先を選択しているならば、「C:\Program Files (x86)\MySQL\Connector.J 5.1\mysql-connector-java-8.0.18-bin.jar」です。
選択後、[ライブラリ]タブに「mysql-connector-java-8.0.18-bin.jar」が追加されていれば、ドライバーはプロジェクトに組み込まれています。
以上で、Javaアプリからデータベースを利用するための準備は完了です。

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

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

module-info.java

module mynavi {
  ...中略...
  requires java.sql;
}
データベース
データベースの準備
データベースに接続/切断する
prepareStatement/executeUpdateメソッド
executeQueryメソッド
setAutoCommit/commit/rollbackメソッド

年収アップ無料転職カウンセリング実施中! | 転職エージェントはマイナビエージェント

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職