1 / 69

第三部分 Java 语言编程应用篇

第三部分 Java 语言编程应用篇. 第 8 章 Java 语言的 数据库处理技术. 学习目的. 熟悉 MySQL 和 SQL Server 数据库的安装、配置和基本操作;了解 JDBC 技术的发展、特点及常用驱动程序类型;掌握 Java 应用程序连接到数据库的基本步骤;进一步掌握 Java 数据库应用程序的开发方法;熟练掌握 SQLExplorer 数据库插件的安装配置及基本操作。. 主要内容. 数据库安装与配置 数据库连接 数据库应用系统开发 SQLExplorer 数据库插件技术. 8.1 数据库安装与配置.

kalea
Download Presentation

第三部分 Java 语言编程应用篇

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第三部分Java语言编程应用篇 第8章 Java语言的数据库处理技术

  2. 学习目的 熟悉MySQL和SQL Server数据库的安装、配置和基本操作;了解JDBC技术的发展、特点及常用驱动程序类型;掌握Java应用程序连接到数据库的基本步骤;进一步掌握Java数据库应用程序的开发方法;熟练掌握SQLExplorer数据库插件的安装配置及基本操作。

  3. 主要内容 • 数据库安装与配置 • 数据库连接 • 数据库应用系统开发 • SQLExplorer数据库插件技术

  4. 8.1数据库安装与配置 • 常用数据库MySQL和SQL Server 2000的特点和性能,数据库在Windows操作系统环境下的安装及配置,为Java程序的数据库处理搭建了数据环境。 • 知识学习要求掌握为: 熟练掌握Windows环境下MySql数据库和SQL Server 2000数据库的安装及配置。

  5. 8.1.1 MySQL数据库简介及安装配置 • MySQL数据库是一个多线程的,结构化查询语言(SQL)数据库服务器。 • MySQL是一个完全免费的数据库。 • MySQL数据库可以自由用于个人或商业用途。 • MySQL 的执行性能非常高,运行速度非常快,并且非常容易使用。 • MySQL是客户机和服务器模式的分布式系统,由SQL 服务器、客户端、管理工具和应用程序等一整套工具组成。目前最新版本可以作为复杂情况以及大负荷数据库解决方案的平台。

  6. MySQL数据库安装 可以在MySQL的官方网站免费下载不同版本的MySQL的安装程序,下载MySQL安装程序的网址如下所示: http://dev.mysql.com/downloads/index.html 本章所使用的为支持 Windows系列操作系统的MySQL 5.0版本,对应安装程序压缩包的文件名为mysql-5.0.22-win32.zip,安装MySQL数据库具体操作步骤如下。

  7. MySQL数据库系统的安装

  8. 安装类型Setup Type选择

  9. 选择要安装的组件,设置待安装数据库系统的位置选择要安装的组件,设置待安装数据库系统的位置

  10. 新建用户账户以及进行注册

  11. MySQL数据库配置 • 进入配置对应的数据库服务器状态 • 服务器实例配置 • 选择服务器类型的配置方式 • 确认数据库对应文件的安装位置 • 设置对应的网络传输协议 • 选择对应的字符集 • 安全性设置 • 完成安装

  12. 进入配置对应的数据库服务器状态

  13. 服务器实例配置

  14. 选择服务器类型的配置方式

  15. 确认数据库对应文件的安装位置 • 设置对应的网络传输协议——默认端口号3306

  16. 选择对应的字符集

  17. 安全性设置 • 完成安装

  18. 8.1.2 SQL SERVER 2000数据库简介及安装 • SQL Server 2000是一个功能完整全面的数据库产品。 • SQL Server 2000全面支持Web功能的数据库解决方案。 • SQL Server2000还在可伸缩性与可靠性方面保持着多项测试纪录。 • 无论以应用程序开发速度还是以事务处理运行速度来衡量,SQL Server 2000都堪称最为快捷的数据库系统。 • 课后将以Windows 2003 Server操作系统为例,练习企业版SQL Server 2000的安装过程。

  19. 8.2 数据库连接 • 主要介绍JDBC技术的诞生、特点及常用驱动程序类型。以实际案例为基础,详细介绍Java应用程序访问数据库的一般步骤。 • 知识重点为: • 掌握Java应用程序利用JDBC技术连接数据库一般步骤。 • 熟练掌握Java应用程序连接到各种数据库的配置。

  20. 8.2.1 JDBC诞生背景 • 自从Java语言于1995年5月正式公布以来,Java风靡全球。出现大量的用Java语言编写的程序,其中也包括数据库应用程序。 • 由于没有一个Java语言的API,编程人员不得不在Java程序中加入C语言的ODBC函数调用。 • 这就使很多Java的优秀特性无法充分发挥,比如平台无关性、面向对象特性等。 • 随着越来越多的编程人员对Java语言的日益喜爱,越来越多的公司在Java程序开发上投入的精力日益增加,对Java语言接口的访问数据库的API的要求越来越强烈。也由于ODBC的有其不足之处,比如它并不容易使用,没有面向对象的特性等等,SUN公司决定开发以Java语言为接口的数据库应用程序开发接口。 • 在JDK1.X版本中,JDBC只是一个可选部件,到了JDK1.1公布时,SQL类包(也就是JDBC API)就成为Java语言的标准部件。

  21. 8.2.2 JDBC技术概述 • JDBC(Java DataBase Connectivity)称为Java数据库连接。 • JDBC是一种可用于执行SQL语句的Java API(Application Programming Interface,应用程序接口)。它由一些Java语言写的类、界面组成。

  22. 8.2.3 JDBC驱动程序的类型 • JDBC的数据库访问要通过JDBC驱动程序来完成,JDBC驱动程序在Java应用程序与物理数据库之间架起了一座桥梁。 • JDBC驱动分为以下几种类型: • JDBC-ODBC桥接驱动程序 • JDBC-原始数据库API驱动程序 • JDBC-中间层驱动程序 • 纯JDBC驱动程序

  23. 8.2.4 数据库连接 • 在开发Java的各种应用程序中,经常要访问数据库,对数据库中的表进行各种各样的操作,以满足用户的需求,我们将根据案例阐述在Eclipse中开发Java应用程序连接数据库的一般步骤。

  24. 使用JDBC连接数据的5个步骤1 • 加载JDBC驱动程序。 使用Class.forName方法中指定数据库驱动程序的 类名,这样自动创建了驱动程序的实例,并注册到 了JDBC驱动程序管理器。 常见数据库加载方式: Class.forName(“comMySQL.jdbc.Driver”); //MySQL Class.forName(“oracle.jdbc,driver.OracleDriver”); //Oracle Class.forName(“com.microsoft.jdbc.sqlserver.SQLServer.SQLServerDriver”); //SQLServer

  25. 使用JDBC连接数据的5个步骤2 • 建立连接 ——定义连接URL和建立连接。 成功加载JDBC驱动程序之后,必须指定服务器的位置、指向数据库的URL和使用协议,并加入服务器主机名、端口号和数据库名。每个数据驱动程序的文档中,都会提供精确的定义。 常用写法如下: String ur1=“jdbc:MySQL://localhost/myDataBase”; String user=“root”; String password=“111111”; Connection con=DriverManager.getConnection(ur1,user,password);

  26. 使用JDBC连接数据的5个步骤3 • 创建对象 创建Statement对象,它是用来向数据库发送查询和命令。它由Connection的createStaement方法创建的。 创建对象代码如下: Statement statement=connection.createStatement(); 创建好对象后,就可以进行数据库操作了。 常用方法: executeQuer——查询并在ResultSet中返回数据。 excuteUpdate——执行Update/Insert/Delete命令。 .........

  27. 使用JDBC连接数据的5个步骤4, 5 • 结果处理 处理结果最简单方式是使用ResultSet的next方法在表中移动,每次移动一行。 • 关闭连接 关闭数据库连接。 con.close(); 关闭连接同时,还自动关闭对应的Statement 和ResultSet对象。

  28. 【综合案例8-1】 Java程序在MySQL数据库中创建表student,并向其中输入数据。 • 该程序运行后将在MySQL数据库服务器Test数据库中创建表student, 同时利用程序实现5条记录的录入,程序运行结果如下图所示。

  29. 实现代码 首先在Eclipse资源管理窗口中创建项目ConnectMySql,在该目录下创建文件夹Validate,在该目录下创建ConnectToMySqlTest.Java文件,输入源代码。 package validate; import java.sql.*; public class DataBaseTest { public static Connection getConnection() throws SQLException,java.lang.ClassNotFoundException { String url = "jdbc:mysql://localhost:3306/test"; //取得连接的url Class.forName("com.mysql.jdbc.Driver"); //加载MySQL的jdbc驱动 String userName = "root"; //使用能访问MySQL数据库的用户名root String password = "mysql"; //使用口令 Connection con = DriverManager.getConnection(url, userName, password); //打开数据库连接 return con; } 8-1-1

  30. public static void main(String args[]) { try { Connection con = getConnection(); //取得数据库的连接 Statement sql = con.createStatement(); //创建一个声明,用来执行sql语句 sql.executeUpdate("drop table if exists Goods"); //如存在同名数据库则删除 sql.executeUpdate("create table goods(bmbh int not null auto_increment, bmmc varchar(30) not null default 'bmmc',bmyj int not null default 60,primary key (bmbh));"); //向表中插入数据 sql.executeUpdate("insert goods values(1001,'服装一部',842511)"); sql.executeUpdate("insert goods values(1002,'服装二部',796519)"); sql.executeUpdate("insert goods values(1003,'电器一部',328923)"); sql.executeUpdate("insert goods values(1004,'电器二部',977666)"); sql.executeUpdate("insert goods values(1005,'日用品部',765348)"); String query = "select * from Goods"; //执行查询数据库的sql语句 ResultSet result = sql.executeQuery(query); //返回一个结果集 8-1-2

  31. System.out.println("Goods表中的数据如下:"); System.out.println(" 部门编号" + " " + "部门名称" + " " + "部门业绩"); while (result.next()) { int number = result.getInt("bmbh"); //取得数据库中的数据 String name = result.getString("bmmc"); //取得数据库中的数据 String javaScore = result.getString("bmyj"); //取得数据库中的数据 System.out.println(" ------------------------"); System.out.println(" " + number + " " + name + " " + javaScore); } System.out.println(" ------------------------"); sql.close(); con.close(); //关闭声明和连接 }catch (java.lang.ClassNotFoundException e) { //异常处理 System.err.print("ClassNotFoundException: "); System.err.println(e.getMessage()); } catch (SQLException ex) { System.err.println("SQLException: " + ex.getMessage()); //显示数据库连接错误或者查询错误 } } } 8-1-3

  32. 数据库连接 JDBC技术连接到各类数据库一般有5个步骤: • 首先要在应用程序中加载JDBC驱动程序。通常使用Class.forName()方法加载,需要注意的一点就是要设好类路径classpath,确保JDBC驱动在类路径中。不同的数据库加载驱动程序的方法不尽相同。 例中加载的MySql的语句是: Class.forName("com.mysql.jdbc.Driver"); //加载MySQL的jdbc驱动 • 新建项目后,在写程序前先把MySQL的驱动包导入到工程中去! • 右击项目名称—单击属性—单击java构建路径—单击库—添加外部JAR—选择MySQL的驱动包——确定。

  33. 成功加载JDBC驱动程序后,负责管理JDBC驱动程序的类DriverManager会识别加载的驱动程序。成功加载JDBC驱动程序后,负责管理JDBC驱动程序的类DriverManager会识别加载的驱动程序。 用DriverManager的方法getConnection()来创建一个数据库连接类的实例。该方法以一个数据库的String类型的URL为参数,返回一个连接数据库的接口类Connection。 例中创建的实例语句是: String url = "jdbc:mysql://localhost:3306/test"; //取得连接的url String userName = "root"; //使用能访问MySQL数据库的用户名root String password = "mysql"; //使用口令 Connection con = DriverManager.getConnection(url, userName, password);//打开数据库连接

  34. 获取Connection对象以后,可以用Connection对象的方法创建一个Statement对象的实例。Statement对象可以执行标准的SQL语句,用来完成对数据库插入、删除或修改等操作。获取Connection对象以后,可以用Connection对象的方法创建一个Statement对象的实例。Statement对象可以执行标准的SQL语句,用来完成对数据库插入、删除或修改等操作。 例中创建的实例语句是: Connection con = getConnection(); //取得数据库的连接 Statement sql = con.createStatement(); //创建一个声明,用来执行sql语句

  35. 返回的结果及对象ResultSet包含一些用来从结果集中获取数据并保存到Java变量中的方法。利用此方法可以将查询所得的数据保存到变量中,以便以某种格式输出给用户。返回的结果及对象ResultSet包含一些用来从结果集中获取数据并保存到Java变量中的方法。利用此方法可以将查询所得的数据保存到变量中,以便以某种格式输出给用户。 String query = "select * from student"; //执行查询数据库的sql语句 ResultSet result = sql.executeQuery(query); //返回一个结果集 • 使用与数据库相关的对象非常耗内存,因此在数据库访问后要关闭与数据库的连接,同时还应该关闭Statement对象。两个对象可以分别使用关闭连接的方法close。 sql.close(); //关闭声明 con.close(); //关闭连接

  36. 8.3 数据库应用系统开发8.3.1 基于MySQL数据库应用系统的开发 知识学习要求掌握为: 本节将通过一个简单的应用案例说明在Eclipse中开发连接MySQL数据库的应用程序基本步骤;掌握Eclipse中应用程序构建路径的配置及应用程序数据环境的配置。 【综合案例8-2】Java应用程序连接MySQL数据库进行用户身份验证

  37. 【综合案例8-2】 • Java应用程序连接MySQL数据库进行用户身份验证 • 运行后出现如图1所示的“用户身份验证”窗口; • 输入信息后单击“登录”按钮,程序将开始连接数据库,并执行身份验证业务逻辑。 • 身份验证通过后将弹出如图2对话框,提示登陆成功,否则弹出如图3所示,说明非法登陆。单击退出按钮 将退出用户身份验证窗口。 图1 图2 图3

  38. 实现代码 首先在Eclipse中建立一个名为“ConnectMySql”的新项目,在项目里创建一个名为UserLogin的类,向类中加入如下代码。 package validate; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; public class UserLogin extends JFrame implements ActionListener{ JPanel panel1 = new JPanel(); JLabel label = new JLabel("请输入用户名:"); JLabel labe3 = new JLabel(); JTextField userName = new JTextField(""); //输入用户名的文本框 JLabel labe2 = new JLabel("请输入密码:"); JPasswordField userPassword = new JPasswordField(""); //输入密码的密码框 JButton button1 = new JButton("登录"); JButton button2 = new JButton("退出"); 8-2-1

  39. public UserLogin () { super("用户身份验证"); //调用父类构造方法 button1.addActionListener(this); //为button1注册事件监听器 this.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER)); //定义程序窗口布局 panel1.setLayout(new GridLayout(5,1,4,4)); //定义面板布局 this.getContentPane(); add(panel1); panel1.add(label); panel1.add(userName); panel1.add(labe2); panel1.add(userPassword); panel1.add(button1); panel1.add(button2); panel1.add(labe3); button2.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) { dispose() ; } } ); // button2为定义事件监听对象 this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0); }}); setSize(300,150); setVisible(true); } 8-2-2

  40. public void actionPerformed(ActionEvent e) { try{ Class.forName("org.gjt.mm.mysql.Driver"); //MySQL数据库驱动程序加载 String strCon = "jdbc:mysql://localhost/test"; Connection conn=DriverManager.getConnection(strCon,"root","mysql"); Statement stmt=conn.createStatement(); //执行查询数据库的SQL语句 String sql = "select * from account where username='" + userName.getText() + "'"; sql += " and userPassword='" + userPassword.getText() + "'"; //SQL查询语句 ResultSet rs=stmt.executeQuery( sql ); //返回一个结果集 if( rs.next() ) labe3.setText("欢迎您登陆本系统"); //身份验证通过 else labe3.setText("非法用户"); } //身份验证没有通过 catch(final Exception ex){ ex.printStackTrace(); } } public static void main(final String[] args) {new UserLogin(); } } 8-2-3

  41. 配置构建路径 • 案例中由于要访问MySQL数据库,需要JDBC驱动程序。 • 下载免费MySQL数据库的JDBC驱动程序,地址同前: http://www.mysql.com/download/index.html。 • 采用的驱动程序压缩包是: mysql-connector-Java-3.0.17.zip; 解压到“C:\eclipse\JDBC驱动程序\MySQL”目录下。

  42. 将下载驱动程序包加入到Java构建路径中,首先在包资源管理器中右键单击项目“ConnectMySql”,在弹出的菜单中选择"构建路径"的子菜单"配置构建路径",弹出项目“ConnectMySql”的属性设置对话框。接着在弹出的对话框的左边窗口选择“Java构建路径”,在右边出现的“Java构建路径”窗口中点"库"选项卡,如图8-37所示。将下载驱动程序包加入到Java构建路径中,首先在包资源管理器中右键单击项目“ConnectMySql”,在弹出的菜单中选择"构建路径"的子菜单"配置构建路径",弹出项目“ConnectMySql”的属性设置对话框。接着在弹出的对话框的左边窗口选择“Java构建路径”,在右边出现的“Java构建路径”窗口中点"库"选项卡,如图8-37所示。 图8-37 图8-38

  43. 点击窗口右边的 “添加外部JAR”按钮,在弹出的JAR文件对话框中找到包文件: mysql-connector-Java-3.0.17-bin.jar此包位于文件夹C:\eclipse\JDBC驱动程序\MySQL中,如图8-38。 选中驱动程序包后,点击“打开”按钮,这样JDBC驱动就添加到Java构建路径中了,如图8-39所示。最后点击属性设置对话框下方的“确定”按钮关闭对话框。 图8-39

  44. 应用程序数据环境的配置 最后在MySQL数据库中创建程序需要访问的数据源test,并在其中创建数据表validate,具体实现方法如下: 依次打开开始菜单 所有程序 MySQL MySQL Server 5.0 MySQL Command Line Client,弹出如下命令行窗口。

  45. 8.3.2 基于SQL Server数据库系统的开发 知识学习要求掌握为: 掌握Eclipse中Java应用程序连接到SQL Server数据库的基本步骤;掌握数据库应用程序开发的一般过程,熟悉Eclipse中构建路径的配置以及应用程序数据环境的配置。

  46. 【综合案例8-3】 超市管理信息系统中Java程序连接SQL Server数据库实现产品信息录入。 该程序借助于Java API中提供的图形用户界面开发工具实现身份验证的桌面应用程序,在产品订购录入窗口输入产品信息,单击确定,即录入信息到产品库中,程序执行界面效果如下。

  47. 配置构建路径 • 案例中由于要访问MySQL数据库,需要JDBC驱动程序。 • 下载SQL Server数据库的JDBC驱动。 • 将下载的驱动程序压缩包解压缩到”C:\eclipse\JDBC驱动程序\SQL Server”目录中,包含三个文件: msbase.jar,sql,mssqlserver,.jar,msutil.jar.

  48. 将下载驱动程序包加入到Java构建路径中,首先在包资源管理器中右键单击项目“ConnectSqlServer”,在弹出的菜单中选择"构建路径"的子菜单"配置构建路径",弹出项目“ConnectSqlServer”的属性设置对话框。接着在弹出的对话框的左边窗口选择“Java构建路径”,在右边出现的“Java构建路径”窗口中点"库"选项卡,如图8-45所示。将下载驱动程序包加入到Java构建路径中,首先在包资源管理器中右键单击项目“ConnectSqlServer”,在弹出的菜单中选择"构建路径"的子菜单"配置构建路径",弹出项目“ConnectSqlServer”的属性设置对话框。接着在弹出的对话框的左边窗口选择“Java构建路径”,在右边出现的“Java构建路径”窗口中点"库"选项卡,如图8-45所示。 图8-45 图8-46

  49. 点击窗口右边的"添加外部JAR"按钮,在弹出的JAR文件对话框中找到包文件,此包位于文件夹”C:\eclipse\JDBC驱动程序\SQL Server”中,如图8-46所示。 选中驱动程序包后,点击"打开"按钮,这样JDBC驱动就添加到Java构建路径中了,如图8-47所示。最后点击属性设置对话框下方的"确定"按钮关闭对话框。 图8-47 图8-48

  50. 应用程序数据环境的配置 要使程序正常运行,还需要在Microsoft SQL Server中创建数据表,依次单击「开始」菜单 程序 Microsoft SQL Server 企业管理器,打开SQL Server Enterprise Manager窗口如图8-48所示。 在master数据库中创建表Buyer_table,表结构如图8-49所示。 图8-49 图8-50

More Related