以下是在JSP中访问数据库的完整攻略:
以下是在JSP中访问数据库的完整攻略:
1. 准备工作
要在JSP中访问数据库,首先需要安装JDBC驱动和配置数据库连接信息。
- 下载对应数据库的JDBC驱动jar包,将其放置于Web应用的
WEB-INF/lib目录下 - 在Web应用的
WEB-INF目录下创建一个名为web.xml的文件,并在其中配置数据库连接信息,比如连接地址、用户名、密码等
<!-- 以下是MySQL的配置示例 -->
<context-param>
<param-name>jdbc_driver_class</param-name>
<param-value>com.mysql.cj.jdbc.Driver</param-value>
</context-param>
<context-param>
<param-name>jdbc_url</param-name>
<param-value>jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC</param-value>
</context-param>
<context-param>
<param-name>jdbc_username</param-name>
<param-value>root</param-value>
</context-param>
<context-param>
<param-name>jdbc_password</param-name>
<param-value>password</param-value>
</context-param>
2. 连接数据库
在JSP中,连接数据库的代码通常写在<%! %>标签中或者通过JavaBean来完成。
以下是两个示例:
方式一:使用JSP内的Java代码进行连接
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 获取数据库连接
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/myds");
conn = ds.getConnection();
// 执行SQL查询语句并处理结果集
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from mytable");
while (rs.next()) {
out.println(rs.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭数据库资源
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
%>
方式二:使用JavaBean进行连接
<%@ page import="com.example.MyDBBean" %>
<jsp:useBean id="mydb" class="com.example.MyDBBean" scope="page" />
<%
// 执行SQL查询语句并处理结果集
ResultSet rs = mydb.query("select * from mytable");
while (rs.next()) {
out.println(rs.getString(1));
}
rs.close();
%>
3. 执行SQL语句
连接数据库成功后,可以通过Statement或PreparedStatement对象来执行SQL查询或更新操作。
以下是两个示例:
方式一:使用Statement执行SQL语句
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 获取数据库连接
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/myds");
conn = ds.getConnection();
// 执行SQL查询语句并处理结果集
stmt = conn.createStatement();
rs = stmt.executeQuery("select * from mytable");
while (rs.next()) {
out.println(rs.getString(1));
}
// 执行SQL更新语句
stmt.executeUpdate("update mytable set column1 = 'newvalue' where id = 1");
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭数据库资源
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
%>
方式二:使用PreparedStatement执行SQL语句
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
// 获取数据库连接
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/myds");
conn = ds.getConnection();
// 执行SQL查询语句并处理结果集
stmt = conn.prepareStatement("select * from mytable where column1 = ?");
stmt.setString(1, "value");
rs = stmt.executeQuery();
while (rs.next()) {
out.println(rs.getString(1));
}
// 执行SQL更新语句
stmt = conn.prepareStatement("update mytable set column1 = ? where id = ?");
stmt.setString(1, "newvalue");
stmt.setInt(2, 1);
stmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭数据库资源
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
%>
总结
上述是在JSP中访问数据库的完整攻略,包括准备工作、连接数据库、执行SQL语句等几个步骤。在具体使用时,可以根据实际情况选择不同的方式来连接数据库和执行SQL语句。
编程基础网
本文标题为:在JSP中访问数据库大全
基础教程推荐
猜你喜欢
- SpringBoot Session接口验证实现流程详解 2023-05-18
- java如何删除以逗号隔开的字符串中某一个值 2023-02-10
- jsp页面中插入css样式的三种方法总结 2023-12-07
- MyBatis中关于SQL的写法总结 2023-04-17
- 关于JwtToken使用-重点看一下过期时间 2023-02-18
- springboot中使用jpa下hibernate的ddl-auto方式 2022-11-03
- Java并发编程ReentrantReadWriteLock加读锁流程 2023-07-15
- 理解Java中的retainAll方法 2023-10-08
- 超级全面的PHP面试题整理集合第1/2页 2023-12-06
- Java实现添加条码或二维码到Word文档 2022-12-02
