《Java Web应用开发基础教程》全书课件电子教案汇总.ppt
《《Java Web应用开发基础教程》全书课件电子教案汇总.ppt》由会员分享,可在线阅读,更多相关《《Java Web应用开发基础教程》全书课件电子教案汇总.ppt(249页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、应用开发基础教程Java Web编程简介C/S和B/S 网站和系统静态Web和动态Web 核心是有没有数据库Java Web工作原理 客户端和Web服务器建立连接; 客户端发送HTTP请求; 服务器端接收客户端的HTTP请求,生成HTTP响应回发; 服务器端关闭连接,客户端解析响应,恢复页面。Java Web相关技术面向对象软件工程软件项目管理HTML + JavaScript JDBC + Servlet + JSP + JavaBean + XML数据库(数据库设计+MySQL实现)设计模式(MVC)环境搭建需要的软件 运行环境:JDK + MySQL + Tomcat 辅助工具:Ecli
2、pse J2ee + UltraEdit + Visio + Navicat注意事项 环境搭建是一个费时的过程却意义重大 操作系统和软件版本的不同会有一定的区别 其它的辅助软件可自行考虑安装面向对象编程基础OOP的三个主要概念:封装、继承、多态面向过程的程序设计语言当中:程序=算法+数据结构面向对象的程序设计语言当中:程序=对象+消息对象:属性+方法的软件组合,是类的一个实例。封装继承多态应用开发基础教程MYSQL及及JDBC初步初步第第3章章关系型数据库管理系统RDBMS:Relational Database Management Systems,通过数据、关系和对数据的约束三者组成的数据
3、模型来存放和管理数据,以行和列的形式存储数据。 MySQL:MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。MySQL被广泛地应用在Internet上的中小型网站中。特点是:体积小、速度快、总体拥有成本低,且开放源码。MySQL初步安装MySQL数据库启动MySQL数据库MySQL数据库的使用MySQL常用命令JDBC概述及基本原理JDBC(Java Database Connectivity) 是一种用于执行 SQL 语句的 Java API。它由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的API,使他们
4、能够用纯Java API 来编写数据库应用程序。JDBC 的使用包括 注册驱动程序 获取数据库连接 发送 SQL 语句 处理结果连接工具类连接数据库的代码在一个项目中是需要经常被使用的,在开发一个大型项目时,会有相当一部分类需要与数据库进行连接,一旦某个连接参数发生变化,代码更改的工作量将十分巨大,工具类的出现可以较好地解决这个问题。JDBC 2.0最新版的JDBC 2.0 API被划分为两部分: JDBC 2.0核心API JDBC 2.0标准扩展API。java.sql包:JDBC2.0的核心API。javax.sql包:JDBC2.0的标准扩展API,其中增加了一些数据访问和数据源访问的
5、重大功能,其中有一些是主要用来做企业计算的。JDBC2.0核心API JDBC 核心API 2.0 在以下几个方面做了比较大的改进: 修改了ResultSet 接口的方法,支持可以滚动的记录集和Java 语言来更新记录集。 新的Statement 接口支持批操作(Batch Update)。 支持最新的SQL3 数据类型,特别是对BLOB、CLOB 等类型的数据提供了很好的支持。JDBC2.0核心API新的SQL 语句接口(Statement 接口) Statement 接口 PreparesStatement 接口(继承Statement 接口)以上两个接口分别由Connection 接口的
6、createStatement( )方法和prepareStatement( ) 方法创建。JDBC2.0核心API创建Statement的方法 public Statement createStatement( ) public Statement createStatement(int resuleSetType, int resultSetConcurrency)resuleSetType:返回ResultSet的类型, 如是否允许数据库游标前后移动,是否对数据库更新操作敏感等。resultSetConcurrency:返回的ResultSet 的协同模式,如允许更新记录集的数据或者仅仅
7、只读不能更新等。JDBC2.0核心APIClass.forName(“com.mysql.jdbc.Driver);Connection conn = DriverManager.getConnection(“);Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);上面的代码创建了一个SQL 语句接口(Statement)的实例对象,该实例对象允许它执行SQL 语句所返回的记录集中的数据库游标前后移动,允许更新记录集中的数据。 JDBC2.0核心APIP
8、repareStatement接口表示预编译的 SQL 语句的对象。 SQL 语句被预编译并且存储在 PreparedStatement 对象中。然后可以使用此对象高效地多次执行该语句。 PrepareStatement中的SQL语句往往是不完整的,带有多个问号以表示缺省参数,可以相应的 setter 方法(seInt、setString 等等)指定与输入参数的已定义 SQL 类型兼容的类型。JDBC2.0核心APIClass.forName(“com.mysql.jdbc.Driver);Connection conn = DriverManager.getConnection(“);Pre
9、pareStatement prepstat = conn.prepareStatement(insert into table (name, age) values (?,?); prepstat.setString(1, “zhangsan); prepstat.setInt(2, 30); prepstat.executeUpdate( );上面的代码是PrepareStatement使用的例子JDBC2.0核心APIStatement 、PreparedStatement 和CallableStatement 接口都支持数据库批操作。Statement 接口中有如下方法:public
10、void addBatch(String sql); 将SQL 语句添加到SQL 语句块中public void clearBatch(); 将SQL 语句块中的所有SQL 语句全部删除public int executeBatch(); 将SQL 语句块发送到数据库服务器去并执行,它返回的结果是一个整型数组。JDBC2.0核心API使用JDBC API 执行数据库批操作的方法是: 1) 创建Statement 接口的实例对象 2) 调用addBatch( )方法往SQL 语句块中添加若干个SQL 语句 3) 使用executeBatch( )方法完成数据库批操作JDBC2.0核心API在Pr
11、eparedStatement 接口实现数据库批操作的方法是 1) 创建PreparedStatement 接口的实例对象 2) 使用PreparedStatement 接口中定义的setXXX( )方法设定SQL 语句参数的值 3) 使用addBatch( )方法添加批处理语句到语句块 4) 使用executeBatch( )方法执行批处理语句JDBC2.0核心APIDatabaseMetaData接口:用于获取有关数据库的信息,如数据库中所有的表名、系统函数、关键字、数据库产品名和数据库支持的JDBC驱动程序名等。 DatabaseMetaData对象是通过Connection接口的get
12、MetaData()方法创建的。ResultSetMetaData接口:用于获取结果集的结构,如结果集中列的类型和属性信息。JDBC2.0核心API新的记录集接口(ResultSet 接口)1、新定义了若干个常数用于指定游标移动的方向 public static final int FETCH_FORWARD; public static final int FETCH_REVERSE; public static final int FETCH_UNKNOWN; public static final int TYPE_FORWARD_ONLY; public static final in
13、t TYPE_SCROLL_INSENSITIVE; public static final int TYPE_SCROLL_SENSITIVE; public static final int CONCUR_READ_ONLY; public static final int CONCUR_UPDATABLE; JDBC2.0核心APIFETCH_FORWORD: 指定处理记录集中行的顺序是由前到后,即从第一行开始处理一直到最后一行。FETCH_REVERSE: 指定处理记录集中行的顺序是由后到前,即从最后一行开始处理一直到第一行。FETCH_UNKNOWN: 不指定处理记录集中行的顺序,而
14、由JDBC 驱动程序和数据库系统决定。TYPE_FORWARD_ONLY: 指定数据库游标的移动方向是向前,不允许向后移动,即只能使用ResultSet 接口的next()方法而不能使用previous()方法,否则会产生错误。JDBC2.0核心APITYPE_SCROLL_INSENSITIVE: 指定数据库游标可以在记录集中前后移动,并且当前数据库用户获取的记录集对其他用户的操作不敏感。TYPE_SCROLL_SENSITIVE: 指定数据库游标可以在记录集中前后移动并且当前数据库用户获取的记录集对其他用户的操作敏感。JDBC2.0核心APICONCUR_READ_ONLY: 该常数的作用
15、是指定当前记录集的协作方式(concurrency mode)为只读。一旦使用了这个常数,那么用户就不可以更新记录集中的数据。CONCUR_UPDATABLE: 该常数的作用是指定当前记录集的协作方式(concurrency mode)为可以更新。一旦使用了这个常数,那么用户就可以使用updateXXX()等方法更新记录集中的数据。 JDBC2.0核心API2、ResultSet 接口提供了一整套的定位方法。 public boolean absolute(int row); 该方法的作用是将记录集中的某一行设定为当前行,亦即将数据库游标移动到指定的行。参数row 指定了目标行的行号,这是绝对
16、的行号,由记录集的第一行开始计算。 public boolean relative(int rows); 该方法的作用也是将记录集中的某一行设定为当前行,但是它的参数rows 表示目标行相对于当前行的行号。JDBC2.0核心API例子:当前行是第3 行现在需要移动到第5 行去,怎么处理?既可以使用absolute()方法,也可以使用relative()方法。rs.absolute(5); rs.relative(2);其中rs 代表ResultSet 接口的实例对象JDBC2.0核心API例子:当前行是第5 行需要移动到第3 行去代码如下 rs.absolute(3); rs.relative
17、(-2);其中rs 代表ResultSet 接口的实例对象 传递给relative()方法的参数。如果是正数,那么数据库游标向前移动;如果是负数,那么数据库游标向后移动。 JDBC2.0核心APIpublic boolean first(); 该方法的作用是将当前行定位到数据库记录集的第一行。public boolean last(); 该方法的作用刚好和first()方法相反,是将当前行定位到数据库记录集的最后一行。public boolean isFirst(); 该方法的作用是检查当前行是否记录集的第一行。如果是,返回true ,否则返回false。public boolean isLa
18、st(); 该方法的作用是检查当前行是否记录集的最后一行。如果是,返回true, 否则返回false。JDBC2.0核心APIpublic void afterLast(); 该方法的作用是将数据库游标移到记录集的最后,位于记录集最后一行的后面。如果该记录集不包含任何的行该方法不产生作用。public void beforeFirst(); 该方法的作用是将数据库游标移到记录集的最前面,位于记录集第一行的前面。如果记录集不包含任何的行,该方法不产生作用。public boolean isAfterLast(); 该方法检查数据库游标是否处于记录集的最后面。如果是,返回true, 否则返回fal
19、se。JDBC2.0核心APIpublic boolean isBeforeFirst( ); 该方法检查数据库游标是否处于记录集的最前面。如果是,返回true, 否则返回false。public boolean next( ); 该方法的作用是将数据库游标向前移动一位,使得下一行成为当前行。当刚刚打开记录集对象时,数据库游标的位置在记录集的最前面。public boolean previous( ); 该方法的作用是将数据库游标向后移动一位,使得上一行成为当前行。 JDBC2.0核心API3、ResultSet 接口添加了对行操作的支持使用JDBC API 2.0 不仅可以任意将数据库游标定
20、位到记录集中的特定行,而且还可以使用ResultSet 接口新定义的一套方法更新当前行的数据。在JDBC1.0中更新记录集中某行的数据,必须发送SQL 语句给数据库以执行UPDATE、DELETE、INSERT 等数据库操作。JDBC2.0核心APIpublic boolean rowDeleted( ); 如果当前记录集的某行被删除了,那么记录集中将会留出一个空位。调用该方法,如果探测到空位的存在,那么就返回true; 如果没有探测到空位的存在,就返回false 值。public boolean rowInserted( ); 如果当前记录集中插入了一个新行,该方法将返回true,否则返回f
21、alse。public boolean rowUpdated( ); 如果当前记录集的当前行的数据被更新,该方法返回true, 否则返回false。JDBC2.0核心APIpublic void insertRow( ); 该方法将执行插入一个新行到当前记录集的操作。public void updateRow( ); 该方法将更新当前记录集当前行的数据。public void deleteRow( ); 该方法将删除当前记录集的当前行。 JDBC2.0核心APIpublic void updateString(int columnIndex, String x); 该方法更新当前记录集的当前行
22、某列的值,该列的数据类型是String, 该方法的参数columnIndex 指定所要更新的列的列索引,第一列的列索引是1 ,以此类推。public void updateString(String columnName, String x); 该方法同上,其第一个参数是columnName 代表需要更新的列的列名而不是columnIndex。ResultSet 接口中还定义了很多个updateXXX( )方法都和上面的两个方法相类似。JDBC2.0核心API向数据库当前记录集插入新行的操作流程如下: 1) 调用moveToInsertRow( )方法 2) 调用updateXXX( )方法指
23、定插入行各列的值 3) 调用insertRow( )方法往数据库中插入新的行例:rs.moveToInsertRow( ); rs.updateString(name, herry);rs.updateInt(age, 30);rs.insertRow( ); JDBC2.0核心API更新数据库中某个记录的值(某行的值)的方法是: 1、定位到需要修改的行 2、使用相应的updateXXX( )方法设定某行某列的新值,也可以使用cancelRowUpdates( )方法进行回滚 3、使用updateRow( )方法完成UPDATE 的操作例:rs.first( );rs.updateString
24、(name,Steven); rs.updateRow( ); JDBC2.0核心API删除记录集中某行(亦即删除某个记录)的方法 1、定位到需要修改的行(使用absolute() relative()等方法) 2、使用deleteRow()方法 例: rs.first( ); rs.deleteRow( ); JDBC2.0核心API处理BLOB 和CLOB 类型的数据 BLOB和CLOB 是SQL3 标准支持的新数据类型,主要用于保存大型超长的数据,如图片视频、CD 等。在JDBC API 2.0 中新定义了Blob 接口和Clob 接口,对这两种类型数据的操作大大简化了。 ResultS
25、et 、PreparedStatement 等接口都定义了getBlob()、getClob()、setBlob()和setClob()方法,用以获取或者设定BLOB 和CLOB 类型的数据。JDBC2.0核心APIBlob 接口的方法 public InputStream getBinaryStream(); 该方法从Blob 数据中获取一个输入流 Clob 接口的方法 public InputStream getAsciiStream(); 该方法从Clob 对象中返回一个输入流。 JDBC2.0核心APIBLOB 和CLOB 数据类型的区别,BLOB 和CLOB 数据类型虽然都可以存储大
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java Web应用开发基础教程 Java Web应用开发基础教程全书课件电子教案汇总 Java Web 应用 开发 基础教程 全书 课件 电子 教案 汇总
限制150内