JSP页面访问JDBC数据库的六个步骤

 【例】创建exgample11_1.jsp页面,并在该页面中使用纯Java数据库驱动程序连接数据库test,并查询数据表goods中的数据。

<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.sql.*"%>  //导入包
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<title>访问MySql数据库</title>
</head>
<body><%Connection con = null;Statement st = null;ResultSet rs = null;//加载驱动try{Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e){e.printStackTrace();}//建立连接try{con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=utf-8","root","root");st = con.creatStatement();//发送查询SQL语句,返回结果集rs = st.excecuteQuery("select*from goods ");while(rs.next()){out.print(rs.getString"("id")+"&nbsp;&nbsp;");out.print(rs.getString"("gname")+"&nbsp;&nbsp;");out.print(rs.getString"("gprice")+"&nbsp;&nbsp;");out.print("<br>");}} catch (SQLException e) {e.printStackTrace();}finally{rs.close();st.close();con.close();}%>
</body>
</html>

 从上例的代码可知,访问数据库需要以下几个步骤:

1)导入java.sql包
<%@ page import  = "java.sql.*"%>

java.sql包含Java操作关系数据库的类和接口,因此在使用JDBC的程序中必须引入该包。

2)加载驱动程序
Class.forName("com.mysql.jdbc.Driver");

使用Class类(java.lang 包) 中的方法forName()来加载该驱动程序的类定义com.mysql.jdbc.Driver,从而创建了该驱动程序的一个实例。

3)连接数据库
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=utf-8","root","root");

完成上述操作后,就可以连接一个特定的数据库了。这需要创建Connection的一个实例,并使用DriverManager的方法getConnection()来尝试连接指定的数据库。 

4)访问数据库
st  = con.creatStatement();
rs = st.executeQuery("select * from goods ");

 首先用Connection的createStatement()方法从指定的数据库连接得到一个StateMent实例,然后该Statement实例调用executeQuery()方法来执行一条SQL语句。

5)处理返回的结果集
while(rs.next()){out.print(rs.getString"("id")+"&nbsp;&nbsp;");out.print(rs.getString"("gname")+"&nbsp;&nbsp;");out.print(rs.getString"("gprice")+"&nbsp;&nbsp;");out.print("<br>");
}

ResultSet对象时JDBC中比较重要的一个对象,几乎所有的查询操作都将数据作为ResultSet对象返回。 

6)关闭数据库连接,释放资源
rs.close();
st.close();
con.close();

对数据库的操作完成之后,要及时关闭ResultSet对象、Statement对象和Connection对象,从而释放占用的资源。

关闭顺序依次由先到后依次为Result对象、Statement对象和Connection对象。

rs、st、con

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/323959.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【React系列】Portals、Fragment

本文来自#React系列教程&#xff1a;https://mp.weixin.qq.com/mp/appmsgalbum?__bizMzg5MDAzNzkwNA&actiongetalbum&album_id1566025152667107329) Portals 某些情况下&#xff0c;我们希望渲染的内容独立于父组件&#xff0c;甚至是独立于当前挂载到的DOM元素中&am…

Python (十七) __name__ == ‘__main__‘ 作用

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

『番外篇十』SwiftUI 实战:打造一款“五脏俱全”的网络图片显示 App(下)

概览 在上篇文章中,我们初步实现了一款小巧的网络图片显示器。 我们先是创建了 json 数据对应的图片模型,然后将 App 界面“分而治之”划分为独立的三个组件以便“逐个击破”,最后我们将所有这些融合在一起。 不过,目前的实现仍有一些问题。比如我们添加了一层不必要的 …

DS|哈夫曼编码及应用

题目一&#xff1a;DS树 -- 赫夫曼树的构建与编码 题目描述&#xff1a; 给定n个权值&#xff0c;根据这些权值构造huffman树&#xff0c;并进行huffman编码 注意数组访问是从位置1开始 要求&#xff1a;赫夫曼的构建中&#xff0c;默认左孩子权值不大于右孩子权值 输入要…

用LCD循环右移显示“Welcome to China“

#include<reg51.h> //包含单片机寄存器的头文件 #include<intrins.h> //包含_nop_()函数定义的头文件 sbit RSP2^0; //寄存器选择位&#xff0c;将RS位定义为P2.0引脚 sbit RWP2^1; //读写选择位&#xff0c;将RW位定义为P2.1引脚 sbit EP2^2; //使能…

数据分析-25-电商用户行为可视化分析

文章目录 0. 数据代码获取1. 项目介绍1.1 分析背景1.2 分析目的1.3 分析思路 2. 数据清洗2.1 加载必要的库2.2 读取数据2.3 统计缺失值2.4 处理数据a. 删除重复值b. 转换时间格式c. 提取日期和时间d. 转换数据类型 3. 分析内容3.1 用户活跃规律a. 日均pv与uvb. 日新增pv、uv趋势…

关于linux权限的相关操作

目录 文件的访问者 文件类型和访问权限 文件权限值的表示 文件访问权限的相关设置 目录的权限 粘滞位 总结 文件的访问者 文件和文件目录的所有者&#xff1a;u&#xff08;User&#xff09;文件和文件目录的所有者所在的组的用户&#xff1a;g&#xff08;Group&#…

专业能力再获赞!棱镜七彩收到中国软件评测中心感谢信

近日&#xff0c;中国软件评测中心&#xff08;工业和信息化部软件与集成电路促进中心&#xff09;发来感谢信&#xff0c;对棱镜七彩在助力信创产业发展过程中所做出的贡献表示感谢&#xff0c;并对棱镜七彩工作人员专业细致、尽职尽责的工作态度和敬业精神进行了高度赞扬。同…

圆通速递单号查询入口,筛选出指定某天签收的单号

随着电商和物流行业的飞速发展&#xff0c;快递单号的管理也成了一个让人头疼的问题。如何快速筛选、整理这些快递单号&#xff0c;成为了提高生活和工作效率的关键。而【快递批量查询高手】的出现&#xff0c;正好可以巧妙的解决上面的问题&#xff0c;下面就来具体看看这款软…

【AWS系列】巧用 G5g 畅游Android流媒体游戏

序言 Amazon EC2 G5g 实例由 AWS Graviton2 处理器提供支持&#xff0c;并配备 NVIDIA T4G Tensor Core GPU&#xff0c;可为 Android 游戏流媒体等图形工作负载提供 Amazon EC2 中最佳的性价比。它们是第一个具有 GPU 加速功能的基于 Arm 的实例。 借助 G5g 实例&#xff0c;游…

HubSpot电子邮件:数字化时代的营销利器

在当今数字化时代&#xff0c;电子邮件仍然是企业与客户之间沟通的重要手段之一。而HubSpot电子邮件作为HubSpot全方位解决方案的一部分&#xff0c;不仅简化了营销流程&#xff0c;更为企业提供了强大的工具&#xff0c;助力建立更紧密的客户关系。本文将深入探讨HubSpot电子邮…

系统安全及应用

1、基本安全措施 1.1、系统账号清理 在Linux系统中&#xff0c;除了用户手动创建的各种账号之外&#xff0c;还包括随系统或程序安装过程而生产的其他大量账号。除了超级用户root之外&#xff0c;其他大量账号只是用来维护系统运作、启动或保持服务进程&#xff0c;一般是不允…