MySQLとは
MySQLは、世界で最も普及しているデータベースシステムです。
無償でありながら、多くの企業でも採用されていることから、信頼性が高いデータベースといえます。
現在のMySQLは、2010年にSun Microsystems社がOracle社に買収されたことで、Oracle社のオープンソース・プロジェクトになっています。
Oracle社といえば、有償製品のOracleデータベースがありますが、MySQLは、これとは別にオープンソースとして今も無償で提供されています。
JDBCドライバでMySQLに接続
JavaからMySQLに接続するには、MySQL用のJDBCドライバが必要です。
JDBCドライバは、公式サイトなどからダウンロードしてのプロジェクトに追加する方法と、MavenやGrandeなどのパッケージマネージャーを使って追加する方法があります。
ては、それぞれの手順でJDBCドライバを追加する方法を確認していきましょう!
JDBCドライバをダウンロードする方法
最初は、MySQL用のJDBCドライバをダウンロードして、Javaのプロジェクトに追加する方法を解説します。
MySQL用のJDBCドライバは更新ページで提供されているため、次のリンクで、公式のダウンロードページにアクセスします。
https://www.mysql.com/jp/products/connector/
「MySQLチームよる開発」のリストから「JDBC Driver for MySQL (Connector/J)」のダウンロードリンクを選択します。
Select Operating Systemに「Platform Independent」を選択します。
選択すると、すぐ下に「Download」リンクが2つ表示されるため、TARかZIP圧縮形式から選びます。
「Download」リンクをクリックすると、次の画面のようにOracleアカウントでのログインを求められます。
Oracleアカウントを持っていない場合は「No thanks, just start my download.」をクリックすると、アカウント登録をせずにダウンロードを開始できます。
ダウンロードしたファイルを解凍します。
解凍したフォルダの中に「mysql-connector-java-8.0.22.jar」というファイルがありますが、これがMySQL用のJDBCドライバです。
ファイル名末尾の「8.0.22」はJDBCドライバのバージョンです。2020年11月時点では「8.0.22」が最新バージョンですが、今後新しいJDBCドライバがリリースされれば、ファイル名のバージョンも変更されます。
最後に、ダウンロードしたJDBCドライバを、Javaプロジェクトの参照ライブラリに追加しまっしょう。
今回は、開発ツールに「Eclipse」を使った例で、参照ライブラリの追加方法を解説します。
対象のプロジェクトの上で[右クリック]⇒[ビルド・パス]⇒[ビルド・パスの構成]を選択します。
[ライブラリ]タブみから[外部JARの追加]をクリックします。
先ほどダウンロードしたJDBCドライバの「mysql-connector-java-8.0.22.jar」を選択します。
パッケージ・エクスプローラの参照ライブラリーに、MySQLのJDBCドライバが追加されます。
MavenプロジェクトでMySQLのJDBCドライバを追加
昨今の開発では、Mavenなどのパッケージマネージャーでライブラリを管理するのが一般的になってきています。
では、MavenプロジェクトでMySQLのJDBCドライバを追加する確認していきましょう。
Mavenではpom.xmlというファイルに、プロジェクトが依存するライブラリなどを記述します。
MySQLのJDBCドライバを追加する場合は、pom.xmlに次の内容を追加します。
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
編集が完了しpom.xmlを保存すると、自動的にJDBCドライバをインターネット上からダウンロードしてJavaプロジェクトに追加されます。
自動で追加されなかった場合は、パッケージ・エクスプローラでpom.xmlを選択し[右クリック]⇒[Run As..]⇒[Maven Install]をクリックすれば、インストールが始まります。
GradleプロジェクトでプロジェクトでMySQLのJDBCドライバを追加
続いてGradleでMySQLのJDBCドライバを追加する方法を確認しましょう。
build.gradleを開き、次のようにMySQLのJDBCドライバの依存関係を追加します。
dependencies {
// https://mvnrepository.com/artifact/mysql/mysql-connector-java
compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.22'
}
JDBCドライバを使ってMySQLに接続する
ここまで、JDBCドライバをプロジェクトの参照ライブラリに追加する方法を確認してきました。
それでは、追加したMySQLのJDBCドライバを使って、JavaからMySQLに接続するソースコードを書いてみましょう。
今回は、次のusersテーブルからデータをSELECT文を使って取得するサンプルコードを紹介します。
CREATE TABLE users(
id INT(11) AUTO_INCREMENT NOT NULL,
name VARCHAR(30) NOT NULL ,
address VARCHAR(200) NOT NULL,
PRIMARY KEY (id));
Javaのソースコードは次の通りです。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MysqlSampleConnect {
public static void main(String[] args) {
// データベースに接続
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/<データベース名>?useSSL=false",
"root",
"<パスワード>"
);
// SQL文の実行
PreparedStatement pstmt = con.prepareStatement("select * from users");
ResultSet rs = pstmt.executeQuery();
// 検索結果を表示
while (rs.next()) {
System.out.println(rs.getString("name"));
System.out.println(rs.getInt("address"));
}
// 後処理(リソースのクローズ)
rs.close();
pstmt.close();
con.close();
}
}
さいごに
JavaのJDBCドライバを使って、MySQLに接続する方法を解説してきました。
JDBCには、共通のインタフェースで異なるデータベースを操作できる特徴があります。
OracleやSQL Serverであっても、使用するJDBCドライバが変更すれば、基本的には同じインタフェースでデータベースに接続できるため、是非試してみましょう。
ちなみに、JDBCは「Java Database Connectivity」の略で、Javaからデータベースを操作するためのAPIです。
MySQLの他に、Oracle・SQL Server・PostgreSQLでもJDBCドライバが提供され、データベースに依存しない共通のインタフェースで、データベースにアクセスできるのがJDBCの特徴です。