LoginSignup
5
4

More than 1 year has passed since last update.

【実践‼】Javaデータベース連携(Connector/J 8.0.20)

Last updated at Posted at 2020-05-07

1.事前知識

事前知識として、上記リンクの内容が必要です。

2.事前準備

22.png
23.png

  1. 検索ボックスに cmd と入力し、 コマンドプロンプト を起動する。
    07.png
  2. mysql -u ユーザ名 -pログイン する。
    08.png
    09.png
test.sql
create database test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';
GRANT ALL PRIVILEGES ON test.* TO 'test'@'localhost';

use test;

CREATE TABLE test1( 
    id TINYINT ZEROFILL NOT NULL AUTO_INCREMENT,
    name VARCHAR(50),
    PRIMARY KEY(id));

INSERT INTO `test1`(`name`) VALUES ("test1");
INSERT INTO `test1`(`name`) VALUES ("test2");
INSERT INTO `test1`(`name`) VALUES ("test3");
INSERT INTO `test1`(`name`) VALUES ("test4");
  1. 上記の SQL文 をコピーし、 コマンドプロンプト 内で実行する。
  2. 画像のように Query OK が出れば成功。

3.Connectorのインストール

01.png

  1. MySQL :: Download Connector/J へアクセスする。
  2. Platform Independent を選択し、 Downloads ボタンをクリックする。
    02.png
  3. No thanks, just start my download. をクリックする。
    03.png
  4. ZIPファイルを 展開 する。   
    04.png
  5. ZIPファイルが 展開 され、 mysql-connector-java-8.0.20 が存在することを確認する。
    05.png
  6. C:\Program Files\MySQLmysql-connector-java-8.0.20 を移動する。

4.Javaデータベース連携

01.png

  1. Eclipseを再起動後、 [新規(N)]→[Javaプロジェクト] を選択する。
    02.png
  2. プロジェクト名に TestDB と入力し、実行環境JREの使用を JavaSE-1.8 を選択して、 完了 ボタンをクリックする。
    03.png
  3. [新規(N)]→[クラス] を選択する。   
    04.png
  4. パッケージに db, 名前に Test1 と入力し、 public static void main(String[] args) にチェックを付け、 完了 ボタンをクリックする。
    05.png
  5. プロジェクトを 右クリック して [ビルド・パス(B)]→[外部アーカイブの追加(V)] を選択する。
    06.png
  6. C:\Program Files\MySQL\mysql-connector-java-8.0.20mysql-connector-java-8.0.20.jar を選択する。
Test1.java
package db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Test1 {
	public static void main(String[] args) {
		try {
		       Class.forName("com.mysql.cj.jdbc.Driver");
		       Connection conn = DriverManager.getConnection(
		               "jdbc:mysql://localhost/test?characterEncoding=UTF-8",
		               "test",
		               "test"
		               );
		       Statement st = conn.createStatement();
		       ResultSet rs = st.executeQuery("select * from test1");

		       while(rs.next()) {
		           int id = rs.getInt("id");
		           String name = rs.getString("name");
		           System.out.println("ID:"+id+" 名前:"+name);
		       }
		       rs.close();
		       st.close();
		       conn.close();
		       System.exit(0);
		   } catch (ClassNotFoundException e) {
		       System.out.println("ドライバを読み込めませんでした "+ e);
		   } catch (SQLException e) {
		       System.out.println("データベース接続エラー"+ e);
		   }
	}
}

7.上記の文をコピーして、文字コードは S-JIS を指定し、ファイル名を Test1.java で保存する。
07.png
8. [実行(R)]→[実行(S)]→[Javaアプリケーション] を選択する。
08.png
9. 画像のように表示されれば成功。

5.Javaデータベース連携の基本的な書き方

Javaデータベース連携
public class クラス名 {
    public static void main(String[] args) {
        try {
               // JDBCドライバクラス名
               Class.forName("com.mysql.cj.jdbc.Driver");
               // コネクションを取得
               Connection Connection型変数名 = DriverManager.getConnection(
                       "jdbc:mysql:URL",
                       "DBユーザー名",
                       "パスワード"
                       );
               // Statementクラスのオブジェクトを取得
               Statement Statement型変数名 = Connection型変数名.createStatement();
               // SQLを実行する
               ResultSet ResultSet型変数名 = Statement型変数名.executeQuery("SQL文");

               while(rs.next()) {
                   // SQLの表示
               }
               ResultSet型変数名.close();
               Statement型変数名.close();
               Connection型変数名.close();
               System.exit(0);
           } catch (ClassNotFoundException e) {
               // ドライバの読み込み失敗
           } catch (SQLException e) {
               // データベースの接続に失敗
           }
    }
}
  • 基本的な Javaデータベース連携 は上記のように記述します。

6.GitHub

GitHubにソースコードを公開しています。

7.関連

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4