欢迎来到天天文库
浏览记录
ID:50915496
大小:269.00 KB
页数:14页
时间:2020-03-15
《JAVA_WEB-东北大学 15-(5)JSP访问数据库.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5讲JSP访问数据库5.1JDBC概述在JSP技术中,对数据库的操作都是通过JDBC组件完成的。JDBC在Java脚本程序和数据库之间充当了一个桥梁的作用。Java脚本程序可以通过JDBC组件向数据库发出命令,数据库管理系统获得命令后,执行请求,并将请求结果通过JDBC返回给Java程序。JDBC是Sun公司提供的一套数据库编程接口API函数,由Java语言编写的类。使用JDBC开发的程序能够自动地将SQL语句传送给相应的数据库管理系统。不但如此,使用Java编写的应用程序可以在任何支持Jav
2、a的平台上运行,不必在不同的平台上编写不同的应用。图5-1应用程序、JDBC和驱动程序之间的关系5.1JDBC概述通过JDBC组件对数据库进行操作所需的类库JDBCAPI,包含在两个包里。第一个包是java.sql,包含了JDBCAPI的核心Java数据对象,包括为DBMS(数据库管理系统)连接和存储在DBMS里的数据进行交互而提供的Java数据对象。另外一个包含JDBCAPI的包是javax.sql,它扩展了java.sql,是J2EE/JavaEE的一部分。除其他高级JDBC特性外,java
3、x.sql还包含了那些与Java命名与目录接口(JNDI)进行交互的Java数据对象,以及管理连接池的Java数据对象。在java.sql包中,只包括少量具体类。API中的大部分被描述为数据库的中枢接口类,它们指定具体操作而不提供任何实现。实际的实现由第三方提供商提供。独立的数据库系统通过一个实现java.sql.Driver接口的特定JDBC驱动程序被接收。驱动程序支持几乎所有流行的RDBMS(关系数据库管理)系统。Sun公司将一个免费的JDBC-ODBC桥驱动程序绑定在JDK上以支持标准OD
4、BC数据源。例如MicrosoftAccess数据库。5.2JDBCAPI介绍图5-2JDBCAPI结构图DriverManagerDriverManager类是JDBC的管理层,作用于用户和驱动程序之间。该类负责加载、注册JDBC驱动程序,管理应用程序和已注册的驱动程序的连接。Class.forName("sun.JDBC.odbc.JdbcOdbcDriver");5.2JDBCAPI介绍Connection接口代表与数据库的连接,并拥有创建SQL语句的方法,以完成基本的SQL操作,同时为数
5、据库事务处理提供提交和回滚的方法。一个应用程序可与单个数据库有一个或多个连接,也可以与多个数据库有连接。Stringurl="JDBC:odbc:ShopData";Connectionconn=DriverManager.getConnection(url,"sa","");Statement接口Statement接口用于执行不带参数的简单SQL语句,用来向数据库提交SQL语句交返回SQL语句的执行结果,提交的SQL语句可以是SQL查询语句(SELECT)、修改语句(UPDATE)、插入语句(
6、INSERT)和删除语句(DELETE)。5.2JDBCAPI介绍5.2JDBCAPI介绍创建一个Statement接口的实例的方法一般形式如下:Connectioncon=DriverManager.getConnection(URL,"user","password")Statementsm=con.createStatement();JDBC中提供了3种执行方法,分别是executeUpdate()、execute()和executeQuery()。(1)executeUpdate方法。这
7、个方法一般用于执行SQL的INSERT、UPDATE或DELETE语句。当执行INSERT等SQL语句时,此方法的返回值是执行了这个SQL语句后所影响的记录的总行数。若返回值为0,则表示执行的SQL语句未对数据库造成影响;该语句也可以执行无返回值的SQL数据定义语言,如CREATE、ALTER和DROP语句等。正确执行语句后,返回值也是0。(2)executeQuery方法。这个方法一般用于执行SQL的SELECT语句。它的返回值是执行SQL语句后产生的一个ResultSet接口的实例(结果集)
8、。(3)execute方法。这个方法比较特殊,一般是在用户不知道执行SQL语句后会产生什么结果或可能有多种类型的结果产生时才会使用。例如,在执行一个存储过程时,其中可能既包含DELETE语句又包含SELECT语句。该存储过程执行后,既会产生一个ResultSet(结果集),又会影响相关记录,即有两种类型的结果产生,这时必须用方法excute()执行以获取完整的结果。ResultSetResultSet对象包含了Statement和PreparedStatement的executeQuery方法中
此文档下载收益归作者所有