Spring Bootを使ってJavaプログラムからMariaDBに接続する
Java で MariaDB に接続する方法
JDBC のインポート
まず、Java の JDBC パッケージをプログラムにインポートする必要があります。
import java.sql.*;
MariaDB Connector/J のダウンロードと設定
次に、MariaDB Connector/J ドライバをダウンロードする必要があります。これは、Java プログラムから MariaDB に接続するための公式ドライバです。
ダウンロード:
- 使用する Java のバージョンに合ったドライバを選択します。
- ダウンロードボタンをクリックして、ファイルを保存します。
設定:
ダウンロードしたファイルをプロジェクトに含める必要があります。方法はいくつかありますが、以下は一般的な方法です。
- Maven:
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>3.0.6</version>
</dependency>
dependencies {
implementation 'org.mariadb.jdbc:mariadb-java-client:3.0.6'
}
- 手動:
- ダウンロードした JAR ファイルをプロジェクトの lib フォルダにコピーします。
- IDE でプロジェクトの設定を行い、JAR ファイルをクラスパスに追加します。
データベースへの接続
必要な設定が完了したら、以下のコードを使用してデータベースに接続できます。
// 接続情報
String url = "jdbc:mariadb://localhost:3306/mydb";
String user = "root";
String password = "password";
// 接続の確立
Connection connection = DriverManager.getConnection(url, user, password);
// ステートメントの作成
Statement statement = connection.createStatement();
// SQL クエリの発行
String query = "SELECT * FROM users";
ResultSet resultSet = statement.executeQuery(query);
// 結果の処理
while (resultSet.next()) {
System.out.println(resultSet.getString("name"));
}
// 接続のクローズ
resultSet.close();
statement.close();
connection.close();
このコードは、以下の処理を行います。
url
、user
、password
変数に接続情報(ホスト名、ポート番号、データベース名、ユーザー名、パスワード)を代入します。DriverManager.getConnection()
メソッドを使用して、データベースへの接続を確立します。createStatement()
メソッドを使用して、SQL クエリを実行するためのステートメントを作成します。executeQuery()
メソッドを使用して、SQL クエリを実行し、結果セットを取得します。while
ループを使用して、結果セットをループ処理し、各レコードのデータを出力します。close()
メソッドを使用して、結果セット、ステートメント、接続を順に閉じます。
補足
上記のコードは基本的な接続方法を示しています。実際のプログラムでは、接続情報の管理、エラー処理、トランザクション処理など、さらに多くの考慮事項があります。
関連情報
import java.sql.*;
public class MariaDBExample {
public static void main(String[] args) throws Exception {
// 接続情報
String url = "jdbc:mariadb://localhost:3306/mydb";
String user = "root";
String password = "password";
// 接続の確立
Connection connection = DriverManager.getConnection(url, user, password);
// ステートメントの作成
Statement statement = connection.createStatement();
// SQL クエリの発行
String query = "SELECT * FROM users";
ResultSet resultSet = statement.executeQuery(query);
// 結果の処理
while (resultSet.next()) {
System.out.println("名前:" + resultSet.getString("name"));
System.out.println("年齢:" + resultSet.getInt("age"));
}
// 接続のクローズ
resultSet.close();
statement.close();
connection.close();
}
}
このコードを実行するには、以下の準備が必要です。
- MariaDB データベースがインストールされていること
mydb
データベースが存在することusers
テーブルが存在し、name
とage
というカラムがあること
準備が完了したら、以下の手順でコードを実行できます。
- コードを
MariaDBExample.java
というファイル名で保存します。 - Java コンパイラを使用して、コードをコンパイルします。
javac MariaDBExample.java
- 実行コマンドを使用して、コードを実行します。
java MariaDBExample
実行すると、users
テーブルのデータがすべて出力されます。
名前:田中 太郎
年齢:20
名前:佐藤 花子
年齢:30
Java で MariaDB に接続するその他の方法
ここでは、その他の接続方法を紹介します。
HikariCP を使用する方法
HikariCP は、Java アプリケーションにおけるデータベース接続の管理を簡潔化する接続プールライブラリです。 HikariCP を使用すると、以下のメリットがあります。
- 接続プーリングによるパフォーマンスの向上
- 接続の自動再接続
- 接続リークの防止
HikariCP を使用するには、以下の手順が必要です。
- HikariCP のライブラリをプロジェクトに追加します。
- Maven:
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>4.0.3</version>
</dependency>
- Gradle:
dependencies {
implementation 'com.zaxxer:HikariCP:4.0.3'
}
- HikariCP の設定ファイルを作成します。
# HikariCP 設定ファイル
# データベース接続情報
jdbcUrl=jdbc:mariadb://localhost:3306/mydb
jdbcUsername=root
jdbcPassword=password
# 接続プール設定
maximumPoolSize=10
minimumIdle=1
connectionTimeout=30000
idleTimeout=600000
- HikariCP を使用してデータベースに接続します。
import com.zaxxer.hikari.HikariDataSource;
public class MariaDBExample {
public static void main(String[] args) throws Exception {
// HikariCP 設定ファイルの読み込み
HikariConfig config = new HikariConfig("hikari.properties");
// HikariDataSource の作成
HikariDataSource dataSource = new HikariDataSource(config);
// データベース接続の取得
Connection connection = dataSource.getConnection();
// ステートメントの作成
Statement statement = connection.createStatement();
// SQL クエリの発行
String query = "SELECT * FROM users";
ResultSet resultSet = statement.executeQuery(query);
// 結果の処理
while (resultSet.next()) {
System.out.println("名前:" + resultSet.getString("name"));
System.out.println("年齢:" + resultSet.getInt("age"));
}
// 接続のクローズ
resultSet.close();
statement.close();
connection.close();
// HikariDataSource のクローズ
dataSource.close();
}
}
Spring Boot は、Java アプリケーション開発を簡潔化するフレームワークです。 Spring Boot を使用すると、以下のメリットがあります。
- 複雑な設定を省略できる
- 組み込みのスターターによって、データベース接続などの機能を簡単に利用できる
Spring Boot を使用して MariaDB に接続するには、以下の手順が必要です。
- Spring Boot プロジェクトを作成します。
- Spring Initializr を使用して、プロジェクトを作成できます。
- MariaDB への依存関係を追加します。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
<version>2.7.0</version>
</dependency>
- アプリケーション設定ファイルを作成します。
# アプリケーション設定ファイル
spring.datasource.url=jdbc:mariadb://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
@Entity
アノテーションを使用して、エンティティクラスを作成します。
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Integer age;
// ...
}
@SpringBootApplication
アノテーションを使用して、アプリケーションクラスを作成します。
@SpringBootApplication
public class MariaDBExampleApplication {
public static void main(String[] args) {
SpringApplication.run(MariaDBExampleApplication.class, args);
}
}
./mvnw spring-boot:run
Spring Boot は、データベース接続の管理
java mariadb