05 纯JSP页面编程—JDBC
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方法名称 executeQuery() executeUpdate() clearParameters() setXxx() close() 功能描述 执行前面包含参数的动态SELECT语句,并返回一个永远不 能为null的ResultSet实例 执行前面包含参数的动态INSERT、UPDATE或DELETE语句, 并返回一个int型数值,为同步更新记录的条数 清除当前所有参数的值 为指定参数设置Xxx型值 立即释放Statement实例占用的数据库和JDBC资源,即关闭 Statement实例
获取新数据列表 eg.读者管理3\删除功能
成都信息工程学院 胡道海
3.4 修改功能的实现
通过列表页面获取要修改记录ID 设计修改界面
设计更新处理程序
获取待修改数据记录 获取全部类型数据,以供选择 获取当前管理员信息 设计输入表单 设计提交验证 eg.读者管理3\修改功能 获取修改后的数据 构造SQL语句(PreparedStatement) 执行更新数据库操作 出现错误,进入错误提示页面
con=DriverManager.getConnection(uri, "sa”, "");
sql=con.createStatement(); rs=sql.executeQuery(“select * from reader_t");
while(rs.next()){
rs.close();
System.out.print( rs.getString(“name“) ); ……}
sql.close(); con.close(); System.out.println(e1); } eg.ShowReader.Java
成都信息工程学院 胡道海
} catch(SQLException e1){
1 JDBC的常用接口
JDBC中的常用接口
驱动程序接口Driver 驱动程序管理器DriverManager 数据库连接接口Connection 执行SQL语句接口
在配置数据源时需要配置的<Resource>元素的属性及其说 明如下表所示。
成都信息工程学院 胡道海
4.1 在Tomcat中配置连接池
属性名称 name type auth driverClassName url username password 设置数据源的JNDI名 设置数据源的类型
说 明
设置数据源的管理者,有两个可选值Container和Application,Container表示由 容器来创建和管理数据源,Application表示由Web应用来创建和管理数据源 设置连接数据库的JDBC驱动程序 设置连接数据库的路径 设置连接数据库的用户名 设置连接数据库的密码
成都信息工程学院 胡道海
课堂案例
手工添加读者信息,不仅工作效率低,而且安全性差; 开发C/S模式的应用,使用JDBC对数据操作进行封装, 避免和直接管理,提高了安全性,但C/S模式的应用不便 于部署和维护 本章的目的就是开发基于JDBC的Web应用来维护数据库 中数据
成都信息工程学院 胡道海
成都信息工程学院 胡道海
1 JDBC的常用接口
Connection con=null; Statement sql; ResultSet rs;
try { Baidu Nhomakorabealass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(ClassNotFoundException e){System.out.println(e);} try { String uri= "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=liber_db";
使用JDBC应用程序所驻留的计算机
本章教材实例数据表设计如下:
【例8-1】SQLServer 【例8-2】Access 补充源码\showBySQLDriver.jsp
注意:不同版本数据库的JDBC驱动程序类的路径可能不同
SQLServer2000 com.microsoft.jdbc.sqlserver.SQLServerDriver SQLServer2005 com.microsoft.sqlserver.jdbc.SQLServerDriver
maxActive
maxIdle maxWait
设置连接池中处于活动状态的数据库连接的最大数目,0表示不受限制
设置连接池中处于空闲状态的数据库连接的最大数目,0表示不受限制 设置当连接池中没有处于空闲状态的连接时,请求数据库连接的请求的最长等 待时间(单位为ms),如果超出该时间将抛出异常,−1表示无限期等待 成都信息工程学院 胡道海
功能描述
执行指定的静态SELECT语句,并返回一个永远不 能为null的ResultSet实例 执行指定的静态INSERT、UPDATE或DELETE语 句,并返回一个int型数值,为同步更新记录的条数 清除位于Batch中的所有SQL语句,如果驱动程序 不支持批量处理将抛出异常 将指定的SQL命令添加到Batch中,String型入口参 数通常为静态的INSERT或UPDATE语句,如果驱 动程序不支持批量处理将抛出异常 执行Batch中的所有SQL语句,如果全部执行成功, 则返回由更新计数组成的数组 立即释放Statement实例占用的数据库和JDBC资源, 即关闭Statement实例
4.2 使用连接池技术访问数据库
JNDI (Java Nameing and Directory Interface, Java命名和目录接口)是一个应用程序设计的API,为开发 人员提供了查询和访问各种命名和目录服务的通用的、统 一的接口,类似JDBC,都是构建在抽象层上的。JNDI提供 了一种统一的方式,可以用在网络上查找和访问JDBC服务 中,通过指定一个资源名称,可以返回数据库连接建立所 必须的信息。 【例8-6】 应用连接池技术访问数据库db_database08, 并显示数据表tb_user中的全部数据
使用JDBC应用程序所驻留的计算机
应 用 程 序 Oraclel ODBC驱动程序 JDBC ODBC MySql ODBC驱动程序 SQLServer ODBC驱动程序 Access ODBC驱动程序
Oracle
Access
MySql
纯JDBC驱动
Sql Server
Oraclel驱动程序 应用程序 JDBC MySql驱动程序 SQLserver驱动程序 成都信息工程学院 胡道海
Web应用程序设计
第5章 纯JSP页面编程—JDBC
课堂案例
思考:依据现有知识,我们如何对数据库中的读者信息进 行维护
成都信息工程学院 胡道海
课堂案例
我们现在能做的...... 直接操作数据库: 打开SQL Server企业管理器 打开图书馆管理系统的数据库 打开读者信息表 维护数据并保存 使用“Java高级应用”课程的知识,利用JDBC编写C/S 模式的应用程序进行数据操作
设计列表页面 获取查询结果 遍历结果数据,循环构造数据列表的数据行
eg.读者管理3\查询功能
成都信息工程学院 胡道海
3.2 添加功能的实现
设计添加界面
获取全部类型数据,以供选择 获取当前管理员信息 设计输入表单 设计提交验证 获取新记录数据 构造SQL语句(PreparedStatement) 执行更新数据库操作
设计添加处理程序
出现错误,进入错误提示页面
获取新数据列表 eg.读者管理3\添加功能
成都信息工程学院 胡道海
3.3 删除功能的实现
通过列表页面获取要删除记录ID
设计删除处理程序
获取要删除记录ID 构造SQL语句(PreparedStatement) 执行更新数据库操作 出现错误,进入错误提示页面
成都信息工程学院 胡道海
4 典型数据管理功能的实现
查询页面 查询处理
添加页面
添加处理
查询处理 列表页面
删除处理
查询处理
查询处理
修改页面
更新处理
查询处理
成都信息工程学院 胡道海
3.1 查询及列表功能的实现
设计查询界面
设计查询处理程序
获取查询条件 构造查询语句
执行查询操作
保存查询结果
成都信息工程学院 胡道海
4.1 在Tomcat中配置连接池
<Context> <Resource name="TestJNDI" type="javax.sql.DataSource" auth="Container" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db_db_datab ase08" username="sa" password="" maxActive="4" maxIdle="2" maxWait="6000" /> </Context>
成都信息工程学院 胡道海
addBatch(String sql)
executeBatch()
close()
执行动态SQL语句接口PreparedStatement
PreparedStatement ps = connection .prepareStatement("select * from table_name where id>? and (name=? or name=?)"); ps.setInt(1, 1); ps.setString(2, "wgh"); ps.setObject(3, "sk"); ResultSet rs = ps.executeQuery();
章节内容
JDBC的常用接口
如何加载驱动程序 如何连接数据库 如何执行SQL 如何处理查询结果 常用的驱动程序 常用数据库系统的连接方法 Statement PrepareStatement
常用数据库连接方法
执行SQL的方法
典型数据管理功能的实现
查询操作、添加操作、修改操作、删除操作 功能整合
执行完整SQL语句接口Statement 执行动态SQL语句接口PreparedStatement 执行存储过程接口CallableStatement
访问结果集接口ResultSet
成都信息工程学院 胡道海
2、常用数据库连接方法
JDBC-ODBC桥
JDBC Java DataBase Connrctivity ODBC Open DataBase Connectivity
成都信息工程学院 胡道海
3 执行SQL的方法
eg.教材源码\05\ 【例8-4】 【例8-5】查询操作 eg.教材源码\05\ 添加操作 eg.教材源码\05\ 修改操作 eg.教材源码\05\ 删除操作
成都信息工程学院 胡道海
执行SQL语句接口Statement
方法名称
executeQuery(String sql) executeUpdate(String sql) clearBatch()
获取新数据列表
成都信息工程学院 胡道海
4 连接池技术
连接池简介 在Tomcat中配置连接池
使用连接池技术访问数据库
成都信息工程学院 胡道海
4.1 在Tomcat中配置连接池
在通过连接池技术访问数据库时,首先需要在Tomcat下配 置数据库连接池,下面以SQL Server 2000为例介绍在 Tomcat 6.0下配置数据库连接池的方法。 (1)将SQL Server数据库的3个JDBC驱动包msbase.jar、 mssqlserver.jar和msutil.jar复制到Tomcat安装路径下的 common\lib文件夹中。 (2)配置数据源。在配置数据源时,可以将其配置到 Tomcat安装目录下的conf\server.xml文件中,也可以将其 配置到Web工程目录下的META-INF\context.xml文件中,建 议采用后者,因为这样配置的数据源更有针对性,配置数 据源的具体代码如下:
获取新数据列表 eg.读者管理3\删除功能
成都信息工程学院 胡道海
3.4 修改功能的实现
通过列表页面获取要修改记录ID 设计修改界面
设计更新处理程序
获取待修改数据记录 获取全部类型数据,以供选择 获取当前管理员信息 设计输入表单 设计提交验证 eg.读者管理3\修改功能 获取修改后的数据 构造SQL语句(PreparedStatement) 执行更新数据库操作 出现错误,进入错误提示页面
con=DriverManager.getConnection(uri, "sa”, "");
sql=con.createStatement(); rs=sql.executeQuery(“select * from reader_t");
while(rs.next()){
rs.close();
System.out.print( rs.getString(“name“) ); ……}
sql.close(); con.close(); System.out.println(e1); } eg.ShowReader.Java
成都信息工程学院 胡道海
} catch(SQLException e1){
1 JDBC的常用接口
JDBC中的常用接口
驱动程序接口Driver 驱动程序管理器DriverManager 数据库连接接口Connection 执行SQL语句接口
在配置数据源时需要配置的<Resource>元素的属性及其说 明如下表所示。
成都信息工程学院 胡道海
4.1 在Tomcat中配置连接池
属性名称 name type auth driverClassName url username password 设置数据源的JNDI名 设置数据源的类型
说 明
设置数据源的管理者,有两个可选值Container和Application,Container表示由 容器来创建和管理数据源,Application表示由Web应用来创建和管理数据源 设置连接数据库的JDBC驱动程序 设置连接数据库的路径 设置连接数据库的用户名 设置连接数据库的密码
成都信息工程学院 胡道海
课堂案例
手工添加读者信息,不仅工作效率低,而且安全性差; 开发C/S模式的应用,使用JDBC对数据操作进行封装, 避免和直接管理,提高了安全性,但C/S模式的应用不便 于部署和维护 本章的目的就是开发基于JDBC的Web应用来维护数据库 中数据
成都信息工程学院 胡道海
成都信息工程学院 胡道海
1 JDBC的常用接口
Connection con=null; Statement sql; ResultSet rs;
try { Baidu Nhomakorabealass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(ClassNotFoundException e){System.out.println(e);} try { String uri= "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=liber_db";
使用JDBC应用程序所驻留的计算机
本章教材实例数据表设计如下:
【例8-1】SQLServer 【例8-2】Access 补充源码\showBySQLDriver.jsp
注意:不同版本数据库的JDBC驱动程序类的路径可能不同
SQLServer2000 com.microsoft.jdbc.sqlserver.SQLServerDriver SQLServer2005 com.microsoft.sqlserver.jdbc.SQLServerDriver
maxActive
maxIdle maxWait
设置连接池中处于活动状态的数据库连接的最大数目,0表示不受限制
设置连接池中处于空闲状态的数据库连接的最大数目,0表示不受限制 设置当连接池中没有处于空闲状态的连接时,请求数据库连接的请求的最长等 待时间(单位为ms),如果超出该时间将抛出异常,−1表示无限期等待 成都信息工程学院 胡道海
功能描述
执行指定的静态SELECT语句,并返回一个永远不 能为null的ResultSet实例 执行指定的静态INSERT、UPDATE或DELETE语 句,并返回一个int型数值,为同步更新记录的条数 清除位于Batch中的所有SQL语句,如果驱动程序 不支持批量处理将抛出异常 将指定的SQL命令添加到Batch中,String型入口参 数通常为静态的INSERT或UPDATE语句,如果驱 动程序不支持批量处理将抛出异常 执行Batch中的所有SQL语句,如果全部执行成功, 则返回由更新计数组成的数组 立即释放Statement实例占用的数据库和JDBC资源, 即关闭Statement实例
4.2 使用连接池技术访问数据库
JNDI (Java Nameing and Directory Interface, Java命名和目录接口)是一个应用程序设计的API,为开发 人员提供了查询和访问各种命名和目录服务的通用的、统 一的接口,类似JDBC,都是构建在抽象层上的。JNDI提供 了一种统一的方式,可以用在网络上查找和访问JDBC服务 中,通过指定一个资源名称,可以返回数据库连接建立所 必须的信息。 【例8-6】 应用连接池技术访问数据库db_database08, 并显示数据表tb_user中的全部数据
使用JDBC应用程序所驻留的计算机
应 用 程 序 Oraclel ODBC驱动程序 JDBC ODBC MySql ODBC驱动程序 SQLServer ODBC驱动程序 Access ODBC驱动程序
Oracle
Access
MySql
纯JDBC驱动
Sql Server
Oraclel驱动程序 应用程序 JDBC MySql驱动程序 SQLserver驱动程序 成都信息工程学院 胡道海
Web应用程序设计
第5章 纯JSP页面编程—JDBC
课堂案例
思考:依据现有知识,我们如何对数据库中的读者信息进 行维护
成都信息工程学院 胡道海
课堂案例
我们现在能做的...... 直接操作数据库: 打开SQL Server企业管理器 打开图书馆管理系统的数据库 打开读者信息表 维护数据并保存 使用“Java高级应用”课程的知识,利用JDBC编写C/S 模式的应用程序进行数据操作
设计列表页面 获取查询结果 遍历结果数据,循环构造数据列表的数据行
eg.读者管理3\查询功能
成都信息工程学院 胡道海
3.2 添加功能的实现
设计添加界面
获取全部类型数据,以供选择 获取当前管理员信息 设计输入表单 设计提交验证 获取新记录数据 构造SQL语句(PreparedStatement) 执行更新数据库操作
设计添加处理程序
出现错误,进入错误提示页面
获取新数据列表 eg.读者管理3\添加功能
成都信息工程学院 胡道海
3.3 删除功能的实现
通过列表页面获取要删除记录ID
设计删除处理程序
获取要删除记录ID 构造SQL语句(PreparedStatement) 执行更新数据库操作 出现错误,进入错误提示页面
成都信息工程学院 胡道海
4 典型数据管理功能的实现
查询页面 查询处理
添加页面
添加处理
查询处理 列表页面
删除处理
查询处理
查询处理
修改页面
更新处理
查询处理
成都信息工程学院 胡道海
3.1 查询及列表功能的实现
设计查询界面
设计查询处理程序
获取查询条件 构造查询语句
执行查询操作
保存查询结果
成都信息工程学院 胡道海
4.1 在Tomcat中配置连接池
<Context> <Resource name="TestJNDI" type="javax.sql.DataSource" auth="Container" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=db_db_datab ase08" username="sa" password="" maxActive="4" maxIdle="2" maxWait="6000" /> </Context>
成都信息工程学院 胡道海
addBatch(String sql)
executeBatch()
close()
执行动态SQL语句接口PreparedStatement
PreparedStatement ps = connection .prepareStatement("select * from table_name where id>? and (name=? or name=?)"); ps.setInt(1, 1); ps.setString(2, "wgh"); ps.setObject(3, "sk"); ResultSet rs = ps.executeQuery();
章节内容
JDBC的常用接口
如何加载驱动程序 如何连接数据库 如何执行SQL 如何处理查询结果 常用的驱动程序 常用数据库系统的连接方法 Statement PrepareStatement
常用数据库连接方法
执行SQL的方法
典型数据管理功能的实现
查询操作、添加操作、修改操作、删除操作 功能整合
执行完整SQL语句接口Statement 执行动态SQL语句接口PreparedStatement 执行存储过程接口CallableStatement
访问结果集接口ResultSet
成都信息工程学院 胡道海
2、常用数据库连接方法
JDBC-ODBC桥
JDBC Java DataBase Connrctivity ODBC Open DataBase Connectivity
成都信息工程学院 胡道海
3 执行SQL的方法
eg.教材源码\05\ 【例8-4】 【例8-5】查询操作 eg.教材源码\05\ 添加操作 eg.教材源码\05\ 修改操作 eg.教材源码\05\ 删除操作
成都信息工程学院 胡道海
执行SQL语句接口Statement
方法名称
executeQuery(String sql) executeUpdate(String sql) clearBatch()
获取新数据列表
成都信息工程学院 胡道海
4 连接池技术
连接池简介 在Tomcat中配置连接池
使用连接池技术访问数据库
成都信息工程学院 胡道海
4.1 在Tomcat中配置连接池
在通过连接池技术访问数据库时,首先需要在Tomcat下配 置数据库连接池,下面以SQL Server 2000为例介绍在 Tomcat 6.0下配置数据库连接池的方法。 (1)将SQL Server数据库的3个JDBC驱动包msbase.jar、 mssqlserver.jar和msutil.jar复制到Tomcat安装路径下的 common\lib文件夹中。 (2)配置数据源。在配置数据源时,可以将其配置到 Tomcat安装目录下的conf\server.xml文件中,也可以将其 配置到Web工程目录下的META-INF\context.xml文件中,建 议采用后者,因为这样配置的数据源更有针对性,配置数 据源的具体代码如下: