Javaコネクター(Maven利用)

MariaDB Connector/J(標準的なJDBCのAPIを利用) は、Javaで開発されたアプリケーションをMariaDBやMySQLに接続する際に用いられます。

事前に必要な環境

  • デフォルトポート番号3306、ローカルホストで稼働しているMariaDBもしくはMySQLサーバー
  • Java バージョン8以上
  • Maven

Mavenプロジェクトの作成

シンプルなJavaプロジェクトをMavenで作成します。

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app 
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

"com.mycompany.app"と"my-app"は適切な値に置き換えます。

新しいプロジェクトはmy-appフォルダーの中に作成されます。このフォルダーはMavenの構成を定義するpom.xmlを含みます。

MariaDB用Javaドライバーの取得

pom.xmlの中で下記を書いてください。(javaのバージョンは最低でも1.8以上)

pom.fileの内容

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>my-app</name>
    <url>http://maven.apache.org</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mariadb.jdbc</groupId>
            <artifactId>mariadb-java-client</artifactId>
            <version>2.1.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

接続

標準的なJDBCのメソッド DriverManager.getConnection(String url, String user, String password) がデータベースへの接続に用いられます。

基本的なURLはMariaDBドライバー用に標準化されています。 jdbc:(mysql|mariadb):[replication:|failover:|sequential:|aurora:]//<hostDescription>[,<hostDescription>...]/[database][?<key1>=<value1>[&<key2>=<value2>]]

MariaDBドライバーはjdbc:mariadbもしくはjdbc:mysqlで始まるURLで自動的に登録されます。

MariaDBサーバーがローカルマシーンにデフォルトポート3306でインストールされていると仮定すると、URL文字列は"jdbc:mariadb://localhost/"になります。

基本的なmavenのアーキタイプとしては、シンプルJavaファイルであるApp.javaをsrc/main/java/com/mycompany/app内に生成します。

App.javaを下記の内容に更新してください。 (MariaDBサーバーがローカルマシーンにデフォルトポート3306でインストールされていると仮定します。ユーザーはrootでパスワードはなしの状態です。)

package com.mycompany.app;

import java.sql.*;

public class App {

    public static void main( String[] args ) throws SQLException {
        //create connection for a server installed in localhost, with a user "root" with no password
        try (Connection conn = DriverManager.getConnection("jdbc:mariadb://localhost/", "root", null)) {
            // create a Statement
            try (Statement stmt = conn.createStatement()) {
                //execute query
                try (ResultSet rs = stmt.executeQuery("SELECT 'Hello World!'")) {
                    //position result to first
                    rs.first();
                    System.out.println(rs.getString(1)); //result is "Hello World!"
                }
            }
        }
    }
}

プロジェクトのコンパイル

mvn install

Maveによって自動的にドライバーがダウンロードされ、アプリケーションファイルがコンパイルされます。

Mavenで実行

C:\temp\my-app>mvn exec:java -Dexec.mainClass="com.mycompany.app.App"
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building my-app 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- exec-maven-plugin:1.6.0:java (default-cli) @ my-app ---
Hello World!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.837 s
[INFO] Finished at: 2017-10-25T11:16:06+02:00
[INFO] Final Memory: 10M/245M
[INFO] ------------------------------------------------------------------------

合わせて読む

Comments

Comments loading...
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.