LoginSignup
0
0

【Java×MySQL】動的WebプロジェクトとDBの連携方法(Eclipse)

Posted at

記事の内容

今回は、javaの動的webプロジェクトとMySQL(Maria DB)との接続について備忘録を作成します。

使用端末

■Windouws11
■Eclipse Version: 2022-09 (4.25.0)

前提条件

MySQL(Maria DB)はすでにお使いのPC端末にインストールされているものとします。

MySQLのダウンロードサイトはこちらから

Maria DBのダウンロードサイトはこちら

MySQL(Maria DB)をインストールしたら次にすること

MySQLのコネクターをダウンロードする。

MySQLのコネクターのダウンロード方法

MySQLコネクターの公式サイトへアクセスする。
 MySQLコネクター公式サイト🔗

MySQLコネクタ1.jpg

「MySQLチームによる開発」欄よりJDBC Driver for MySQL(Connecter/)を選択します。

ダウンロード先の端末を選択する。
この画面では、MySQLコネクターをダウンロードする端末を選択するための画面です。
なので、リストボックスをクリックして中身を表示します。
MySQL2.jpg

「Prattform Independent」を選択する。
リストボックスの中身を表示して、「Prattform Independent」を選択します。
MySQL3.jpg

MySQLコネクターのダウンロード形式(tar形式またはZip形式)を選択する。
Prattform Independent」をクリックすると、ダウンロードする形式(tar形式またはZip形式)を選ばせる画面が表示されます。
どちらでも良いですが、今回はZip形式のものを選択しましょう。

MySQL4.jpg

無料のアカウント登録画面が出るが、ここは「No Thanksで!
さいごに無料の登録画面が表示されます。
アカウントを作っても良いしどちらでも構いませんが、特にアカウント作成する必要が無ければ右下の「No Thanks, just start my douwnload」をクリックしましょう。

MySQLコネクターのZipファイルを解凍する。
Zipファイルを展開して、MySQLコネクター(.jar)があることを確認します。
MySQL5.jpg

MySQL6.jpg

EclipseにMySQLコネクターをインポートする。

プロジェクトの「ビルドパスの構成」を選択する。
プロジェクトの右上で右クリック⇒「ビルド・パス」⇒「ビルドパスの構成」の順にクリックする。

MySQL7.jpg

「外部Jarの追加」を選択する。
Javaのビルドパス画面から「外部Jarの追加」の順にクリックします。

MySQL8.jpg

「MySQLコネクター(.jar)」を選択する。
インポートする「MySQLコネクター」を選択します。

MySQL9.jpg

Javaのビルドパス画面「MySQLコネクター(.jar)」がインポートされているのを確認する。
Javaのビルドパス画面に「MySQLコネクター(.jar)」がインポートされているのを確認します。
MySQL10.jpg

WEB-INFフォルダ配下libフォルダに「MySQLコネクター(.jar)」を配置する。

さいごに、「MySQLコネクター(.jar)」をWEB-INFフォルダー配下の「libフォルダ」に配置します。
そうすることで、Tomcatが「MySQLコネクター」を認識することができます。
MySQL11.jpg

動的WebプロジェクトからMySQL(Maria DB)への設定方法

「META-INF」フォルダ配下にコネクションプーリングファイルのcontext.xmlを作成する。

データベースの接続情報を記載したコネクションプーリングファイル「context.xml」を作成します。
配置場所は、「META-INF」フォルダ配下に起きます。

つぎに、「context.xml」は、下記の通り記載します。

こうすることで、プロジェクトとMySQL(Maria DB)との接続の設定は完了です。

context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true">
	<Resource
		name="jdbc/[データベース名]"
		auth="Container"
		type="javax.sql.DataSource"
		driverClassName="com.mysql.jdbc.Driver"
		url="jdbc:mysql://localhost:3306/[データベース名]"
		connectionProperties="autoReconnect=true;verifyServerCertificate=false;useSSL=false;requireSSL=false;useUnicode=true;characterEncoding=UTF-8;"
		username="root"
		password="XXXXXXXXX"
		validationQuery="select 1"/>
</Context>

接続用のテーブルを用意する。

今回は、下記のテーブルを用意します。

shohinIns.sql
CREATE TABLE `shohinins` (
	`shohin_id` CHAR(4) NOT NULL COLLATE 'utf8mb4_general_ci',
	`shohin_mei` VARCHAR(20) NOT NULL COLLATE 'utf8mb4_general_ci',
	`shohin_bunrui` VARCHAR(20) NOT NULL COLLATE 'utf8mb4_general_ci',
	`hanbai_tanka` INT(11) NULL DEFAULT NULL,
	`shiire_tanka` INT(11) NULL DEFAULT NULL,
	`torokubi` DATE NULL DEFAULT NULL,
	PRIMARY KEY (`shohin_id`) USING BTREE
)
COLLATE='utf8mb4_general_ci'
ENGINE=InnoDB
;

SQL.jpg

動的WebプロジェクトからMySQL(Maria DB)へ接続する

では、いよいよプロジェクトとデータベースを接続してみましょう。

connect.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.sql.*,javax.naming.*,javax.sql.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Context context = new InitialContext();	
DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/sample");
try(Connection db = ds.getConnection()){
	//SELECT
	PreparedStatement ps = db.prepareStatement("SELECT * FROM shohinIns");
	ResultSet rs = ps.executeQuery();
	System.out.println(rs);
	while (rs.next()){
%>
	<tr>
		<td><%=rs.getString("shohin_mei") %></td>
		<td><%=rs.getString("shohin_bunrui") %></td>
		<td><%=rs.getString("hanbai_tanka") %></td>
		<td><%=rs.getString("shiire_tanka") %></td>
		<td><%=rs.getString("torokubi") %></td>
	</tr>
<%	
	}
}
%>

データベースへの接続に成功しました。
</body>
</html>

■プロジェクトの上で右クリックして、[実行]⇒[サーバーで実行]を選択します。
3.jpg

■デプロイ先のTomcatのバージョンを選択します。
4.jpg

■URLアドレスバーにURLを入力します。
5.jpg

以上で、動的WebプロジェクトとMySQL(Maria DB)との接続連携でした。

参考にしたサイト

下記は、参考にさせていただいたサイトです。ぜひご覧になてみてくださいね。

ジョイタスネット 様
JSP & Servlet-8日目(MySQLとの連携)
公式サイト

ITリテラシー拡大ブログ 様
【Javaで作成するWebアプリケーション#2】データベースに接続して作成する基本的なログイン機能
公式サイト

ts0818のブログ 様
Java Eclipseで動的 WebプロジェクトでMySQL接続
公式サイト

0
0
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
0
0