記事の内容
今回は、javaの動的webプロジェクトとMySQL(Maria DB)との接続について備忘録を作成します。
使用端末
■Windouws11
■Eclipse Version: 2022-09 (4.25.0)
前提条件
MySQL(Maria DB)はすでにお使いのPC端末にインストールされているものとします。
MySQL(Maria DB)をインストールしたら次にすること
MySQLのコネクターをダウンロードする。
MySQLのコネクターのダウンロード方法
■ MySQLコネクターの公式サイトへアクセスする。
MySQLコネクター公式サイト🔗
「MySQLチームによる開発」欄よりJDBC Driver for MySQL(Connecter/)を選択します。
■ ダウンロード先の端末を選択する。
この画面では、MySQLコネクターをダウンロードする端末を選択するための画面です。
なので、リストボックスをクリックして中身を表示します。
■ 「Prattform Independent」を選択する。
リストボックスの中身を表示して、「Prattform Independent」を選択します。
■ MySQLコネクターのダウンロード形式(tar形式またはZip形式)を選択する。
「Prattform Independent」をクリックすると、ダウンロードする形式(tar形式またはZip形式)を選ばせる画面が表示されます。
どちらでも良いですが、今回はZip形式のものを選択しましょう。
■ 無料のアカウント登録画面が出るが、ここは「No Thanks」で!
さいごに無料の登録画面が表示されます。
アカウントを作っても良いしどちらでも構いませんが、特にアカウント作成する必要が無ければ右下の「No Thanks, just start my douwnload」をクリックしましょう。
■ MySQLコネクターのZipファイルを解凍する。
Zipファイルを展開して、MySQLコネクター(.jar)があることを確認します。
EclipseにMySQLコネクターをインポートする。
■ プロジェクトの「ビルドパスの構成」を選択する。
プロジェクトの右上で右クリック⇒「ビルド・パス」⇒「ビルドパスの構成」の順にクリックする。
■ 「外部Jarの追加」を選択する。
Javaのビルドパス画面から「外部Jarの追加」の順にクリックします。
■ 「MySQLコネクター(.jar)」を選択する。
インポートする「MySQLコネクター」を選択します。
■Javaのビルドパス画面「MySQLコネクター(.jar)」がインポートされているのを確認する。
Javaのビルドパス画面に「MySQLコネクター(.jar)」がインポートされているのを確認します。
■ WEB-INFフォルダ配下のlibフォルダに「MySQLコネクター(.jar)」を配置する。
さいごに、「MySQLコネクター(.jar)」をWEB-INFフォルダー配下の「libフォルダ」に配置します。
そうすることで、Tomcatが「MySQLコネクター」を認識することができます。
動的WebプロジェクトからMySQL(Maria DB)への設定方法
■「META-INF」フォルダ配下にコネクションプーリングファイルのcontext.xmlを作成する。
データベースの接続情報を記載したコネクションプーリングファイル「context.xml」を作成します。
配置場所は、「META-INF」フォルダ配下に起きます。
つぎに、「context.xml」は、下記の通り記載します。
こうすることで、プロジェクトとMySQL(Maria DB)との接続の設定は完了です。
<?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>
接続用のテーブルを用意する。
今回は、下記のテーブルを用意します。
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
;
動的WebプロジェクトからMySQL(Maria DB)へ接続する
では、いよいよプロジェクトとデータベースを接続してみましょう。
<%@ 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>
■プロジェクトの上で右クリックして、[実行]⇒[サーバーで実行]を選択します。
以上で、動的WebプロジェクトとMySQL(Maria DB)との接続連携でした。
参考にしたサイト
下記は、参考にさせていただいたサイトです。ぜひご覧になてみてくださいね。
■ ジョイタスネット 様
JSP & Servlet-8日目(MySQLとの連携)
⇒公式サイト
■ ITリテラシー拡大ブログ 様
【Javaで作成するWebアプリケーション#2】データベースに接続して作成する基本的なログイン機能
⇒公式サイト
■ts0818のブログ 様
Java Eclipseで動的 WebプロジェクトでMySQL接続
⇒公式サイト