JSP データベース接続: 選択、挿入、更新、削除の例

データベースは、ギガバイト単位の巨大な保存容量を持つさまざまな種類のデータを保存するために使用されます。 JSP はそのようなデータベースに接続してレコードを作成および管理できます。

このチュートリアルでは、データベースにテーブルを作成する方法と、JSP を通じてこれらのテーブルにレコードを作成する方法について学習します。

テーブルの作成

In MYSQL データベース、任意の MYSQL クライアントを使用してデータベースにテーブルを作成できます。

ここでは PHPMyadminclient を使用しており、以下のスクリーンショットを使用して新しいテーブルを作成するための「新規」オプションがあります。

JSPデータベースにテーブルを作成する

ここでは、テーブル名を guru_test として指定し、emp_id と emp_name という XNUMX つのフィールドを作成します。

データ型が int である Emp_idis

Emp_name のデータ型は varchar です

JSPデータベースにテーブルを作成する

もう XNUMX つのオプションは、コマンド プロンプトを使用して MYSQL ディレクトリに変更することです。

C:\>

C:\>cd Program Files\MY SQL\bin

C:\>プログラム ファイル\MySql\bin>

次のようにデータベースにログインできます。

C:\Program Files\MYSQL\bin>mysql –u gururoot –p

パスワードを入力する: *******

MySQL>

以下のように、データベースに GuruTestas という名前のテーブル guru_test を作成します。wing MYSQL プロンプトで:

Mysql> use GuruTest;
MySql> create table guru_test(
Emp_idint NOT NULL,
Emp_namevarchar(11),
           );
Once you execute this you get the following:
Query OK, 0 rows affected(0.10 sec)
MySQl> select * from guru_test;
Query OK, 0 rows affected(0.10 sec)

まず、レコードは次を使用して挿入されます INSERT クエリを実行すると使用できます SELECTテーブルが作成されたかどうかを確認するクエリ。

レコードの作成

テーブルを作成した後、以下に示す挿入クエリを使用して、guru_test テーブルにレコードを作成する必要があります。

ここに入力されるレコードは次のとおりです。

  • 1と第一人者emp1
  • 2と第一人者emp2
MySql>INSERT INTO `couch_tomato_db`.`guru_test` (`emp_id`, `emp_name`) VALUES ('1', 'guru emp1');
Query OK, 1 row affected (0.05 sec)

MySQL>INSERT INTO `couch_tomato_db`.`guru_test` (`emp_id`, `emp_name`) VALUES ('2', 'guru emp2');
Query OK, 1 row affected (0.05 sec)

JSP 操作: 挿入、更新、削除、選択

使い方 JSP、データベースに対して複数の操作を実行できます。 レコードを挿入したり、不要なレコードを削除したりできます。 レコードを編集する必要がある場合は、更新を使用して編集できます。 Select 操作は、必要なレコードをフェッチするのに役立ちます。

選択

Select 操作は、テーブルからレコードを選択するために使用されます。

:

この例では、上のセクションで作成した guru_test テーブルからレコードをフェッチする選択操作について学習します。

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
 
<sql:query dataSource="${snapshot}" var="result">
SELECT * from guru_test;
</sql:query>
 
<table>
<tr>
   <th>Guru ID</th>
   <th>Name</th>

</tr>
<c:forEach var="row" items="${result.rows}">
<tr>
   <td><c:out value="${row.emp_id}"/></td>
   <td><c:out value="${row.emp_name}"/></td>

</tr>
</c:forEach>
</table>
 
</body>
</html>

コードの説明:

コード行 1: ここでは io、uti、および SQL Javaのライブラリ。

コード行 3: ここでは、JSTL のコア ライブラリをインポートし、出力を取得するのに役立つ gurucore としてプレフィックスを与えています。

コード行 4: ここでは、jstl の SQL ライブラリをインポートし、SQL 操作の実行に役立つ gurusql というプレフィックスを与えています。

コード行 15 ~ 17: ここでは gurusql を使用し、変数に「guru」、ドライバーに JDBC ドライバーという名前を付けてデータ ソースを接続しています。 また、「gururoot」と「guru」を使用してユーザー名とパスワードを追加します。

コード行 19 ~ 21: ここでは選択クエリのSQLクエリを使用しています。

コード行 31 ~ 32: クエリの結果からフェッチされた emp id と emp name の出力を出力し、foreach ループを使用して出力を出力します。

上記のコードを実行すると、次のような出力が得られます。

出力:

ここでは両方のレコードがデータベースから取得されます

1 グル emp1

2 グル emp2

インセット

挿入演算子は、レコードを データベース.

例:

この例では、テーブル guru_test へのレコードの挿入について学習します。

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
     
     <gurusql:update dataSource="${guru}" var="guruvar">
INSERT INTO guru_test VALUES (3, 'emp emp3');
</gurusql:update>
 

 
</body>
</html>

コードの説明:

コード行 19 ~ 20: ここでは、GuruTestdatabase のテーブル guru_test にレコードを挿入しています。挿入されるレコードは、empID – 3 および empname – emp emp3 です。これらのレコードはテーブルに挿入されます。

コードを実行すると、レコードが guru_test としてテーブルに挿入され、値は 3 および emp emp3 になります。

注: ここでは翔ではありませんwing テーブルにレコードを挿入しているだけの出力です。 「select * from guru_test」として選択クエリを使用してレコードを取得できます。 レコードが挿入された場合、値は 3 および emp3 として取得されます。レコードが挿入されなかった場合、テーブル内のレコードに 3 は表示されません。

削除

これはテーブル guru_test からレコードを削除する削除操作です。

例:

ここではテーブル guru_test からレコードを削除するクエリを削除します。 削除するレコードは変数「guruid」に設定する必要があり、対応するレコードがデータベースから削除されます。

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

 <gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
     <gurucore:set var="guruid" value="3"/>
     <gurusql:update dataSource="${guru}" var="guruvar">
DELETE FROM guru_test WHERE emp_id = ?
  <gurusql:param value="${guruid}" />
</gurusql:update>
 

 
</body>
</html>

コードの説明:

コード行 18: 値が 3 の変数 guruid を設定していますが、これはデータベースから削除する必要があります。 これは常にテーブルの主キーになります。 この場合、主キーは emp_id です。

コード行 19 ~ 22: ここでは、where 句にパラメータを設定する削除クエリを使用しています。ここでのパラメータは、コード行 18 で設定されている guruid です。対応するレコードが削除されます。

出力:

上記コードを実行すると、emp_idが3のレコードが削除されます。

注: この例では、テーブルからレコードを削除しているため、出力を表示できません。レコードが削除されたかどうかを確認するには、選択クエリ「select * from guru_test」を使用する必要があります。 この場合、emp ID として 3 を取得した場合、削除クエリは失敗し、それ以外の場合はレコードは正常に削除されました。

アップデイト

更新はテーブル内のレコードを編集するために使用されます。

例:

<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="gurucore"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="gurusql"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Database JSP1</title>
</head>
<body>

<gurusql:setDataSource var="guru" driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/GuruTest"
     user="gururoot"  password="guru"/>
     <gurucore:set var="guruid" value="2"/>
     <gurusql:update dataSource="${guru}" var="guruvar">
UPDATE guru_test SET emp_name='emp guru99'
  <gurusql:param value="${guruid}" />
</gurusql:update>
 

 
</body>
</html>
	

コードの説明:

コード行 18: ここでは、変数 guruid を 2 に設定しています。これは、レコードを更新する ID です。

コード行 19 ~ 22: ここでは、更新クエリを使用して、ポイント 18 で設定されたレコードのテーブル guru_test 内のレコードを更新しています。ここで、emp guru2 は emp guru99 に置き換えられます。

出力:

上記のコードを実行すると、emp_id 2 のレコードが 99 に変更されます。そのため、出力には emp "guru99" ではなく emp "guru2" が表示されます。

まとめ

このチュートリアルでは、JSP のデータベースへの接続とデータベース アクセスについて学びました。 また、作成、削除、更新など、データベース内のテーブルに対して実行されるさまざまな操作についても学びました。