SAK 図書館
JAVA Servlet、JSP + PostgreSQL 編3 - JDBC、パラメタ、prepareStatement
■パラメタによるレコード修正(JSP)
・PreparedStatement では、ADO 等のパラメタクエリのようなことができる。
上手に使用すれば、レスポンスをかなり上げることが可能だろう。
<%@ page import="java.util.*,java.sql.*;" contentType="text/html; charset=Shift_JIS"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>JAVA Server Page(JSP) - PostgreSQL JDBC Test</TITLE>
</HEAD>
<BODY>
<P>JAVA Server Page(JSP) - PostgreSQL JDBC Test</P>
<%
String drv = "org.postgresql.Driver";
String dsn = "jdbc:postgresql://localhost:5432/sak?user=sak&password=sak";
String sql = "update testm set data1 = ?, data2 = ? where key = ?";
Connection cn = null;
PreparedStatement st = null;
// PostgreSQL JDBC ドライバロード
try {
Class.forName(drv);
} catch (Exception e) {
out.println("<P>JDBC ドライバロードエラー<BR>" + e.toString() + "</P>");
}
// PostgreSQL JDBC 接続
try {
cn = DriverManager.getConnection(dsn);
} catch (Exception e) {
out.println("<P>JDBC 接続エラー<BR>" + e.toString() + "</P>");
}
// オートコミット解除
try {
cn.setAutoCommit(false);
} catch (Exception e) {
out.println("<P>オートコミット解除エラー<BR>" + e.toString() + "</P>");
}
// PostgreSQL JDBC パラメタステートメント作成
try {
st = cn.prepareStatement(sql);
} catch (Exception e) {
out.println("<P>JDBC パラメタステートメント作成エラー<BR>" + e.toString() + "</P>");
}
// PostgreSQL JDBC パラメタによるレコード修正1
try {
int ct = 0;
st.setLong(1, 111);
st.setLong(2, 222);
st.setString(3, "a001");
ct = st.executeUpdate();
cn.commit();
// PostgreSQL 更新件数表示
out.println("<P>レコード修正1 count = " + ct + "</P>");
} catch (Exception e) {
out.println("<P>JDBC パラメタによるレコード修正1 エラー<BR>" + e.toString() + "</P>");
}
// PostgreSQL JDBC パラメタによるレコード修正2
try {
int ct = 0;
st.setInt(1, 1000);
st.setInt(2, 2000);
st.setString(3, "b002");
ct = st.executeUpdate();
cn.commit();
// PostgreSQL 更新件数表示
out.println("<P>レコード修正2 count = " + ct + "</P>");
} catch (Exception e) {
out.println("<P>JDBC パラメタによるレコード修正2 エラー<BR>" + e.toString() + "</P>");
}
// PostgreSQL JDBC ステートメントクローズ
try {
st.close();
} catch (Exception e) {}
// PostgreSQL JDBC 接続クローズ
try {
cn.close();
} catch (Exception e) {}
%>
</BODY>
</HTML>
■JAVA Servlet、JSP + PostgreSQL 編資料
■JAVA Servlet、JSP + Oracle9i 編資料
■JAVA Servlet、JSP 基礎編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料