JSPデータベース接続
JSP でデータベースに接続する
データベースは、ギガバイト単位の巨大な保存容量を持つさまざまな種類のデータを保存するために使用されます。 JSP はそのようなデータベースに接続してレコードを作成および管理できます。
このチュートリアルでは、データベースにテーブルを作成する方法と、JSP を通じてこれらのテーブルにレコードを作成する方法について学習します。
テーブルの作成
In MYSQL データベース任意の MYSQL クライアントを使用してデータベースにテーブルを作成できます。ここでは PHPMyadminclient を使用しており、以下のスクリーンショットを使用して新しいテーブルを作成するためのオプション「new」があります。
ここでは、テーブル名を guru_test として指定し、emp_id と emp_name という XNUMX つのフィールドを作成します。
データ型が int である Emp_idis
Emp_name のデータ型は varchar です
別のオプションとしては、コマンド プロンプトを使用して MYSQL ディレクトリに変更する方法があります。
C:\> C:\>cd Program Files\MY SQL\bin C:\>Program Files\MySql\bin>
次のようにデータベースにログインできます。
C:\Program Files\MYSQL\bin>mysql –u gururoot –p Enter Password: ******* Mysql>
MYSQL プロンプトで次のようにして、GuruTest という名前のデータベースにテーブル guru_test を作成します。
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 Operations: 挿入、更新、削除、選択
JSP を使用すると、データベースに対して複数の操作を実行できます。レコードを挿入することも、不要なレコードを削除することもできます。レコードを編集する必要がある場合は、更新を使用して編集できます。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 です。これらのレコードはテーブルに挿入されます。コードを実行すると、レコードは値 3 および emp emp3 で、テーブル guru_test に挿入されます。
ご注意: ここでは、テーブルにレコードを挿入しているだけなので、出力は表示されません。レコードは、'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 をデータベースに接続し、データベースにアクセスする方法について学習しました。また、作成、削除、更新など、データベース内のテーブルに対して実行されるさまざまな操作についても学習しました。