在JSP中使用数据库.ppt_第1页
在JSP中使用数据库.ppt_第2页
在JSP中使用数据库.ppt_第3页
在JSP中使用数据库.ppt_第4页
在JSP中使用数据库.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章 JSP中使用数据库,在当今这一网络技术蓬勃发展的时代,数据库扮演了非常重要的角色;如果在服务器端没有数据库系统的支持,像搜索引擎、电子商务等Web应用程序就很难处理数量庞大的数据,因此,Web应用程序一般都需要访问数据库。现在最常用的是关系数据库,JSP可以访问多种不同的关系数据库,如Oracle数据库、SQL Server数据库、DB2数据库、MySQL数据库和Microsoft Access数据库等。在JSP页面中,对数据库的访问一般都是通过JDBC进行的,它为数据库应用开发人员提供了独立于具体数据库的数据库访问方法。,引言,教学目标,了解JDBC的相关概念 掌握使用JDBCODBC桥访问数据库 掌握使用加载纯java数据库驱动程序访问数据库 掌握常用SQL语句的使用,第7章在JSP中使用数据库,本章大部分例子采用的模式是JSP+JavaBean模式,即JSP页面调用bean来完成对数据库的操作,使用的数据库管理系统是SQL Server 2000。,7.1JDBC,JDBC是Java数据库连接(Java DataBase Connectivity)的简称,由一组用Java语言编写的类和接口组成,它们位于java.sql包中,提供了跨平台的数据库访问方法,并且为数据库应用开发人员提供了一种标准的应用程序设计接口(API)。,通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。在JSP程序中,程序员可以使用JDBC API将SQL语句发送到相应的任何一种数据库,从而实现对数据库的访问。,7.1JDBC,7.1 JDBC,JDBC的基本功能 1.与一个数据库建立连接。 2.向已连接的数据库发送SQL语句。 3. 处理SQL语句返回的结果。 图7.6,7.2数据库连接的常用方式,1.一种常见方式是建立起一个JDBC-ODBC桥接器 2.另一种使用纯Java数据库驱动程序,7.3 使用JDBCODBC桥访问数据库,创建ODBC数据源 建立JDBCODBC桥接器 和ODBC数据源指定的数据库建立连接,ODBC是由微软开发的、目前用得最广泛的访问关系数据库的API,它是用C语言实现的标准应用程序,用来在相关或不相关的数据库管理系统(DBMS)中存取数据的。通过ODBC API,应用程序可以存取保存在多种不同DBMS中的数据,而不论每个DBMS使用了何种数据存储格式和编程接口,它提供了连接几乎任何一种平台、任何一种数据库的能力。事实上,JDBC通过JDBCODBC桥接器实现ODBC可以实现的所有的对数据库的操作能力。 图7.7-P131,7.3 使用JDBCODBC桥访问数据库,7.3.1创建ODBC数据源,要实现通过ODBC访问数据库,就必须首先为数据库建立一个ODBC数据源,这样数据库才能实现和应用程序的交互。 单击“开始” |“控制面板”菜单命令,打开“控制面板”窗口,然后在窗口中双击“管理工具”图标,打开“管理工具”窗口,再双击“数据源(ODBC)”图标,打开“ODBC数据源管理器”窗口,单击“添加”按扭,打开“创建新数据源”窗口,然后即可创建数据源了。,7.3.2建立JDBCODBC桥接器,Try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); catch(ClassNotFoundException e) ,7.3.3与ODBC数据源指定的数据库建立连接,Connection con =DriverManager.getConnection(“jdbc:odbc:数据源名字”,”login name”,”password”) 实例:showByJdbcOdbc.jsp,java.sql. DriverManager,该类负责加载、注册JDBC驱动程序,管理应用程序和已注册的驱动程序的连接。 public static Connection getConnection(String url, String user, String password) throws SQLException 试图建立到给定数据库 URL 的连接。DriverManager 试图从已注册的 JDBC 驱动程序集中选择一个适当的驱动程序。 参数: url - jdbc:subprotocol:subname 形式的数据库 url user - 数据库用户,连接是为该用户建立的 password - 用户的密码 返回: 到 URL 的连接 抛出: SQLException - 如果发生数据库访问错误,java.sql.Connection,该接口代表数据库连接,并拥有创建SQL语句的方法,以完成常规的SQL操作,并为数据库事务处理提供提交和回滚方法。 Statement createStatement()返回一个Statement对象 Void close() 用于断开连接,java.sql.Statement,它用来向数据库提交SQL语句的执行结果。 ResultSet executeQuery(String sql) 执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。,java.sql.ResultSet,在使用Statement中的executeQuery方法执行SELECT查询指令时,查询的结果将会放在ResultSet中。,ResultSet表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。 ResultSet 对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;因为该方法在 ResultSet 对象没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。 默认的 ResultSet 对象不可更新,仅有一个向前移动的光标。因此,只能迭代它一次,并且只能按从第一行到最后一行的顺序进行。,java.sql.ResultSet,ResultSet 接口提供用于从当前行获取列值的获取 方法(getBoolean、getLong 等)。可以使用列的索引编号或列的名称获取值。一般情况下,使用列索引较为高效。列从 1 开始编号。为了获得最大的可移植性,应该按从左到右的顺序读取每行中的结果集列,每列只能读取一次。,java.sql.ResultSet,列名或列号可用于标识要从中获取数据的列。例如,如果 ResultSet 对象 rs 的第二列名为“姓名”,并将值存储为字符串,则下列任一代码将获取存储在该列中的值: String s = rs.getString(“姓名“); String s = rs.getString(2);,java.sql.ResultSet,7.4 使用纯Java数据库驱动程序,准备工作:下载并安装JDBC驱动程序 微软推出的JDBC驱动程序SQL Server 2000 Driver for JDBC可以实现直接与SQL Server数据库的连接,用户可以到微软的官方网站/downloads下载sqljdbc_1.1.1501.101_enu.exe。安装后将enu子目录下的sqljdbc.jar复制到jdkjrelibext下面。 另外还需要更新SQL server服务器.,7.4.1加载SQL的驱动,try Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver“).newInstance(); catch(Exception e) out.print(e); ,7.4.2和数据库建立连接,try String uri= “jdbc:sqlserver:/:1433;DatabaseName=Student“; String user=“sa“; String password=“sa“; con=DriverManager.getConnection(uri,user,password); catch(SQLException e) 实例:showBySQLDriver.jsp,7.5查询操作,与数据库建立连接后,就可以使用JDBC提供的API和数据库交互信息,如查询、修改和更新数据库中的表等。 创建Statement对象 Statement sql=con.createStatement(); sql对象就可以调用相应的方法,实现对数据库中表的查询和修改,并将查询结果存放在一个ResultSet类声明的对象中 ResultSet rs=sql.executeQuery(“SELECT * FROM score“);,7.5.1顺序查询,如何获取数据库中表的结构信息呢? ResultSetMetaData可用于获取关于 ResultSet 对象中列的类型和属性信息 ResultSetMetaData rsmd = rs.getMetaData(); Int getColumnCount() 返

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论