电子教案·Java语言程序设计(第二版).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《电子教案·Java语言程序设计(第二版).ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 教案 Java 语言程序设计 第二
- 资源描述:
-
1、JDBC数据库编程第第10章章2目标 JDBC的概念 JDBC的连接数据库的过程。在此过程使用到的对象。JDBC实例310.1 JDBC 概念 3-11、JDBC 任务 JDBC 是一个紧凑、简单的软件层 JDBC API 定义应用程序如何:打开连接打开连接 与数据库通信与数据库通信 执行执行 SQL 语句语句 检索查询结果检索查询结果410.1 JDBC 概念 3-22、与ODBC的比较 ODBC不适合Java中直接使用,它是一个c语言的API。不限制传递到底层 DBMS 驱动程序的查询类型 JDBC 机制易于理解和使用 提供与 Java 系统的其他部分保持一致的 Java 接口 JDBC
2、可以调用常见 SQL语句510.1 JDBC 概念 3-33、JDBC 支持两种模型:二层模型Java应用程序直接与数据库交互被称为客户端/服务器配置 三层模型使用中间层(JavaBean)可以在不同语言中实现中间层610.2.1 JDBC 驱动程序3-11、驱动程序类型 JDBC驱动程序的类型 JDBC-ODBC 桥加 ODBC 驱动程序 本地协议纯 Java 驱动程序 JDBC 网络纯 Java 驱动程序 本地 API710.2.1 JDBC 驱动程序3-2JDBC-ODBC桥优点:简单初学容易。缺点:需要设置ODBC,浪费时间,并且受到限制。服务器Java程序JDBC-ODBCODBC本
3、地函数810.2.1 JDBC 驱动程序3-3本地纯Java驱动优点:性能较高。缺点:程序员必须要有JDBC驱动程序,而且不同数据库还不同。服务器Java程序本地JDBC910.2.2 访问数据库11-11、数据库操作过程 下载不同数据库需要的JDBC驱动程序。加载驱动程序。创建连接。创建执行SQL语句的对象。执行查询数据。处理查询结果。关闭数据库。下载不同数据库需要的JDBC驱动程序。加载驱动程序。创建连接。创建执行SQL语句的对象。执行查询数据。处理查询结果。关闭数据库。1010.2.2 访问数据库11-2下载需要的驱动 Oracle:http:/。SQL Server:微软官方网站下载M
4、SSQLSERVER.JAR DB2:下载db2java.zip MySQL:http:/ Informix:http:/1110.2.2 访问数据库11-3加载Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);建立连接 Connection conn=DriverManager.getConnection(URL,login_name,login_password);1210.2.2 访问数据库11-4创建Statement对象 Sta
5、tement 对象将 SQL 语句发送到 DBMS Statement stmt=conn.createStatement();Statement 对象的方法:executeUpdate()用来创建和更新表 stmt.executeUpdate(query);1310.2.2 访问数据库11-5 executeQuery()对于SELECT 语句 stmt.executeQuery(query);返回ResultSet ResultSet rs stmt.executeQuery(query);execute()stmt.execute();返回布尔值,用于执行任何 SQL 语句。1410.2
6、.2 访问数据库11-6 DDL 命令包括create、alter 和 dropstat.executeUpdate(create table Customer(CustIdnumber(3),CustNamevarchar2(15),Address varchar2(30);DML 命令包括select、insert、update和deleteRecordSet recset=stat.executeQuery(select*from customer);1510.2.2 访问数据库11-7 ResultSet 对象包含 SQL 语句的执行结果 next()方法移动游标指向当前结果。使用 g
7、etXXX 方法检索数据 getInt()用于检索整型值 getString()用于检索字符串值1610.2.2 访问数据库11-8关闭数据库 关闭 Statement 对象stmt.close();关闭 Connection 对象conn.close();1710.2.2 访问数据库11-92、处理过程中涉及的对象 JDBC驱动程序包括两种:连接数据库接口:Driver、DriverManager。执行SQL语句和返回结果集的接口:Connection、Statement、PrepareStatement、ResultSet接口。1810.2.2 访问数据库11-10 Driver接口用于读
8、取数据库驱动的基本信息,提供了connect()方法建立访问数据库所用的Connection对象。DriverManager提供了连接数据库的另外一种方式,用来管理Driver对象,提供了注册驱动、获得连接及向数据库输出流发送信息等方法。方法:getConnection()。1910.2.2 访问数据库11-11 Connection:连接数据库和Java应用程序之间的主要对象,使用createStatement()方法创建Statement对象,代表对特定数据库的连接。Statement:对一个特定数据库执行SQL语句。常用方法:executeQuery(SQL)、executeUpdate
9、()、close()。ResultSet:它是对一个一般宽度和未知长度的表的一种抽象。常用方法:next()、close()、2010.3 访问数据库实例3-13、数据库操作实例 使用JTable显示和添加员工资料到数据库中。2110.3 访问数据库实例3-21、通过JDBC-ODBC数据源连接数据库 建立数据源 代码如下:import java.sql.*;public class DBConnect Connection conn=null;/数据库连接对象 public Connection getConn()tryClass.forName(sun.jdbc.odbc.JdbcOdbc
10、Driver);conn=DriverManager.getConnection(jdbc:odbc:tongxin,);catch(Exception e)return conn;数据源名称2210.3 访问数据库实例3-32、通过JDBC直接驱动连接数据库try /连接数据库 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver);con=DriverManager.getConnection(“jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=shopcart,sa
11、,sql);/创建执行SQL语句的对象 sql=con.createStatement();/执行SQL语句并保存结果 rs=sql.executeQuery(SELECT*FROM product);23总结 JDBC的概念,与ODBC的不同。JDBC的使用 数据库处理的过程以及涉及到的对象。Connection:代表数据库连接的对象。Statement:执行SQL语句的对象。ResultSet:保存执行结果的对象。图形用户界面设计第第11章章25目标 GUI相关概念 布局管理器 事件处理 常用Swing组件 2611.1.1 GUI包和简单GUI程序2-1 1java.awt包 称为抽象窗
12、口工具集AWT(Abstract Window Toolkit),是使用Java进行GUI设计的基础。2javax.swing包 Swing组件存放在javax.swing包中。几乎所有AWT组件对应有新功能更强的Swing组件。另外还加入了一些全新的组件。Swing组件在名称上前面多了一个字母“J”。2711.1.1 GUI包和简单GUI程序2-2 3设置GUI应用程序的流程:(1)引用需要的包和类。(2)设置一个顶层的容器。(3)根据需要为容器设置布局管理器或使用默认布局管理器。(4)将组件添加到容器内,位置自行设计。(5)为响应事件的组件编写事件处理代码。2811.1.2 容器、组件、布
13、局和观感 1.容器和组件 组件是可以用图形化的方式显示在屏幕上并能够与用户进行交互的对象。容器是一种特殊的组件,一种能够容纳其他组件或容器的组件。2.布局管理器 为了使图形用户界面具有良好的平台无关性,提供了专门用来管理组件在容器中的布局的工具。3.观感 决定swing应用程序的外观。2911.2 布局管理器 Java中的布局类型包括以下几种:-FlowLayout(流式布局)流式布局)-BorderLayout(边界布局)(边界布局)-GridLayout(网格布局)(网格布局)-CardLayout(卡片布局)(卡片布局)-GridBagLayout(网格包布局)(网格包布局)3011.2
14、.1 FlowLayout布局管理器FlowLayout的构造函数有:-FlowLayout():生成一个默认的流式布局生成一个默认的流式布局-FlowLayout(int alignment):可以设定每一行可以设定每一行组件的对齐方式组件的对齐方式-FlowLayout(int alignment,int horz,int vert):可以设定组件间的水平和垂直距离可以设定组件间的水平和垂直距离 Applet和面板的缺省布局 组件从左上角开始按从左到右、从上到下的方式排列FlowLayout mylayout=new FlowLayout();FlowLayout exLayout=new
15、 FlowLayout(FlowLayout.RIGHT);setLayout(exlayout);/为容器设置新布局 3111.2.2 BorderLayout布局管理器 下面是BorderLayout所定义的构造函数:-BorderLayout():生成默认的边界布局-BorderLayout(int horz,int vert):可以设定组件间的水平和垂直距离窗口、框架和对话框等的缺省布局组件被置于容器的北、南、东、西或中间位置.setLayout(new BorderLayout();Button btnEast=new Button(东);Button btnWest=new But
16、ton(西);Button btnNorth=new Button(北);Button btnSouth=new Button(南);Button btnCenter=new Button(中);add(btnEast,BorderLayout.EAST);add(btnWest,BorderLayout.WEST);add(btnNorth,BorderLayout.NORTH);add(btnSouth,BorderLayout.SOUTH);add(btnCenter,BorderLayout.CENTER);3211.2.3 GridLayout布局管理器 GridLayout的构造函
17、数如下所示:-GridLayout():生成一个单列的网格布局 -GridLayout(int row,int col):生成一个设定行数和列数的网格布局 -GridLayout(int row,int col,int horz,int vert):可以设置组件之间的水平和垂直间隔用于将容器区域划分为一个矩形网格组件按行和列排列.Button btn;/声明按钮数组 String str=1,2,3,4,5,6,7,8,9;setLayout(new GridLayout(3,3);btn=new Buttonstr.length;/创建按钮数组 for(int i=0;istr.length
18、;i+)btni=new Button(stri);add(btni);3311.2.4 CardLayout布局管理器 可存储几个不同的布局。每个布局就像是一个卡片组中的一张卡片。在一个给定的时间总会有一张卡片在顶层。卡片通常为一个 Panel 对象。每当需要许多面板切换,而每个面板需要显示为不同布局时,可以使用卡片布局。3411.2.5 GridBagLayout布局管理器 通过使用以下语法容器可获得 GridBagLayout:GridBagLayout gb=new GridBagLayout();ContainerName.setLayout(gb);要使用此布局,必须提供各组件的大
19、小和布局等信息。GridBagConstraints 类中包含 GridBagLayout 类用来定位及调整组件大小所需的全部信息。组件大小不必相同 组件按行和列排列 放置顺序不一定为从左至右和由上至下35GridBagConstraints 类 2-1 成员变量列表:-gridx,gridy:指定组件放置于哪个单元中-gridwidth,gridheight:指定组件将占用多少行和多少列-weightx,weighty:指定在一个 GridBagLayout 中应如何分配空间,这些变量的缺省值为 0-ipadx,ipady:指定组件的最小高度和宽度36 成员变量列表:-fill:指定在单元大
20、于组件的情况下,组件如何填充此单元,共有4可选值。缺省值为:GridBagConstraints.NONE-anchor:指定将组件放置在单元中的位置,共有9个可选值。缺省值为:GridBagConstraints.CENTER GridBagConstraints 类2-23711.2.6 swing布局管理器 1.BoxLayout布局管理器 按照从上到下(即按照从上到下(即Y轴)或者从左到右轴)或者从左到右(即(即X轴)的顺序来依次排列组件。轴)的顺序来依次排列组件。2.ScrollPaneLayout布局管理器布局管理器是是JScrollPane中的内置布局管理器,所以中的内置布局管理
21、器,所以不需要单独创建,会自动设置。不需要单独创建,会自动设置。3811.2.7 Null布局管理器在某些情况下,用户不想使用布局管理器,需要自己设置组件的位置和大小,这时应取消容器的布局管理器,然后再进行设置,否则用户自定义设置将会被布局管理器覆盖。取消布局管理器的方法是:setLayout(null);用户使用setLocation()、setSize()、setBounds()等方法为组件设置位置和大小。需要注意的是,这种方法会导致程序与系统相关,如不同的分辨率会产生不同的效果。3911.3.1 事件处理模型 Java 最新的事件处理方法是基于授权事件模型 当事件来源对象因用户的操作(鼠
22、标或键盘),系统会自动触发此事件类对象E,并通知所授权的事件监听者A(若来源对象已向A注册),事件监听者A中有处理各种事件的方法(事件处理者1n)便会处理此事件E的各种状况。4011.3.2 事件层次结构2-1事件类事件类说明说明事件源事件源ActionEvent 通常按下按钮,双击列表项或选通常按下按钮,双击列表项或选中一个菜单项时,就会生成此事中一个菜单项时,就会生成此事件。件。Button、List、MenuItem、TextField AdjustmentEvent 操纵滚动条时会生成此事件。操纵滚动条时会生成此事件。Scrollbar ComponentEvent 当一个组件移动、隐
23、藏、调整大当一个组件移动、隐藏、调整大小或成为可见时会生成此事件。小或成为可见时会生成此事件。Component ItemEvent 单击复选框或列表项时,或者当单击复选框或列表项时,或者当一个选择框或一个可选菜单的项一个选择框或一个可选菜单的项被选择或取消时生成此事件。被选择或取消时生成此事件。Checkbox、CheckboxMenuItem、Choice、List FocusEvent 组件获得或失去键盘焦点时会生组件获得或失去键盘焦点时会生成此事件。成此事件。Component4111.3.2 事件层次结构2-2事件类事件类说明说明事件源事件源KeyEvent 接收到键盘输入时会生成此
24、事件。接收到键盘输入时会生成此事件。Component MouseEvent 拖动、移动、单击、按下或释放拖动、移动、单击、按下或释放鼠标或在鼠标进入或退出一个组鼠标或在鼠标进入或退出一个组件时,会生成此事件。件时,会生成此事件。Component ContainerEvent 将组件添加至容器或从中删除时将组件添加至容器或从中删除时会生成此事件。会生成此事件。Container TextEvent 在文本区或文本域的文本改变时在文本区或文本域的文本改变时会生成此事件会生成此事件 。TextField、TextArea WindowEvent 当一个窗口激活、关闭、当一个窗口激活、关闭、失效、
25、失效、恢复、最小化、打开或退出时会恢复、最小化、打开或退出时会生成此事件。生成此事件。Window 4211.3.3 事件处理方法 实现事件监听器接口法:首先给组件注册监听器,使用下列方法:addxxxListener(事件监听器对象);确定了事件监听器的类型后,必须在程序中定义类来实现这些接口,重写接口中的所有方法。addKeyListener(new CharType();public class CharType implements KeyListenerpublic void keyPressed(KeyEvent e)/大括号中为处理事件的代码public void keyRele
展开阅读全文