资源简介 课 堂 教 学 计 划 表课程名称 Java程序设计 教师姓名 专业班级授课时间 授课地点 学时数 8授课题目 § 10 数据库编程教学目标及要求 知识目标 JDBC基本概念;JDBC驱动程序;JDBC的主要功能;使用JDBC进行数据库编程的基本过程;Driver接口;DriverManager类;Connection接口;Statement接口;ResultSet接口;JDBC连接和访问数据库的步骤;技能目标 掌握JDBC进行数据库编程的基本过程;掌握数据库驱动程序的加载方法;掌握DriverManager类中用于连接数据库方法;熟练使用Connection接口中的方法;熟练使用Statement接口中的方法;熟练使用ResultSet接口中的方法;掌握利用JDBC技术连接和访问数据库的基本步骤;能在具体应用环境中实现数据库的连接和访问;教学重点 利用JDBC连接数据库的技术;访问数据库的基本步骤;教学难点 使用JDBC的高级特性开发应用程序;项目描述 利用本章将要学习的Java数据库编程技术,编程开发一个“学生信息管理小工具”;教学方法 问题导引法:通过给学生提出实际编程中出现的问题来引入教学内容,使学生在主动分析、讨论和解决问题的过程中掌握所学知识;案例分析法:通过演示典型案例来讲解相关知识和技术的具体使用过程,使学生在具体的应用环境中加深对概念的理解;任务驱动法:通过完成项目中的各个任务逐步增强实战技能;教学过程设计 新课导入与项目展示首先通过提问、讨论等互动的形式引入课程新知识;然后通过演示本章项目来激发学生的学习兴趣,增强学生学习的积极性、主动性;项目任务分解带领学生分析本章项目并对项目进行任务分解,分解任务如下:任务1:“学生信息管理小工具”的界面设计任务2:在应用程序中实现对指定数据库的连接操作任务3:在应用程序中实现数据库的查询和更新操作任务分析根据项目及任务的描述和要求,对项目的各个任务进行分析,然后总结出完成该任务所需要的知识、技能和主要操作步骤;相关知识点针对各个任务分析阶段得到的知识和技能,并结合本章知识和技能目标对相关知识点进行详细讲解和说明;任务实施该阶段以完成各个任务为目的,教师利用相关知识和技能以演示的方式为学生详细讲解每个任务的完整实现过程;同时,该阶段要求学生进行跟随练习,以加深对知识和技能的理解和掌握;技能拓展在保证学生掌握了各个任务所涉及的基本知识和技能的基础上,再通过介绍一定的附加知识并辅导学生完成指定的“技能拓展任务”,最终使学生对所学知识达到举一反三,融会贯通的学习目的;指导与评价对学生的任务实施过程进行指导,并对其中出现的问题进行总结,给出评价;课后作业 完成课后相关习题;课后分析 主要问题:对数据库表中数据的细节操作;教 案 正 文新课导入与项目展示数据库是存储数据信息的中心,是一个有组织的数据集合。在本章中,将介绍如何使用Java语言连接数据库,以及操作数据库中的数据。讨论:在进行数据库应用程序开发时,如果应用程序需要访问不同的数据库平台,那么应用程序是否需要针对不同的数据库进行大量代码的修改呢?提问:请学生列举出一些常见的关系数据库;运行源程序,为学生演示本章项目实现效果,主界面如下图:项目任务分解本章项目可以划分为以下三个主要任务:任务1:“学生信息管理小工具”的界面设计任务2:在应用程序中实现对指定数据库的连接操作任务3:在应用程序中实现数据库的查询和更新操作任务1:“学生信息管理小工具”的界面设计任务分析根据项目描述的要求,项目界面中所需基本组件的类型、数量和作用分别为:窗体:“学生信息管理小工具”程序的主显示窗口;按钮:添加五个按钮,分别用于“浏览”、“增加”、“查看”、“删除”、“修改”五个功能;文本框:添加一个文本框,用于显示学生信息;滚动条:用于辅助显示文本框中的内容。相关知识点JFrame容器的基本应用;JButton、JTextArea、JScrollPane组件的基本应用;任务实施设计过程创建窗体类StudentInfo,该类继承于JFrame类,并在该窗体中添加本项目所需控件,各个控件及说明如下表所示。控件类型 控件名称 控件功能JButton displayBtn 用于显示“浏览”按钮JButton addBtn 用于显示“增加”按钮JButton searchBtn 用于显示“查看”按钮JButton deleteBtn 用于显示“删除”按钮JButton updateBtn 用于显示“修改”按钮JTextArea displayJta 用于显示学生信息JScrollPane jsp 用于辅助显示文本框中的内容代码实现【程序文件1:StudentInfo.java】(程序代码详见教材)技能拓展【技能拓展任务】对程序文件1进行修改:在主界面中添加一个菜单栏和五个菜单项,用它们代替原来的“浏览”、“增加”、“查看”、“删除”、“修改”五个功能按钮。任务2:在应用程序中实现对指定数据库的连接操作任务分析根据Java数据库应用程序编程的一般方法,要在Java应用程序中实现对数据库的连接,主要包括以下几个步骤:创建数据库,添加数据源根据指定的数据库类型建立应用程序所需的数据库,并添加数据源,以便应用程序能通过ODBC访问数据库。连接数据库根据Java应用程序数据库连接技术实现对数据库的连接。相关知识点创建数据库既然本章学习的是Java数据库编程技术,那么首先就需要创建一个数据库。为了方便教学,本项目以Access数据库为例进行相关知识的讲解,所以这里先创建一个名为stu.accdb(Access 2007版本)的Access数据库,同时在其中建立一个名为student的数据表,配置表结构并添加数据,其中“ID”字段为主键,并且无重复值。student表的结构如图所示:添加数据源建立了数据库之后,接着就需要为所创建的数据库stu.accdb添加一个ODBC数据源(DSN)。DSN的作用相当于应用程序与数据库之间的一座桥梁,应用程序在给ODBC驱动程序传递SQL指令时,就是通过DSN来告诉ODBC驱动程序需要操作哪个数据库,添加数据源的详细过程参见教材。JDBC简介Java 数据库连接(Java Database Connectivity,JDBC),由一组用Java编程语言编写的类和接口组成,是一组专门用于连接和操作数据库的标准API,各个数据库厂商只要按照此标准进行相应数据库的开发和实现,Java应用程序就可以借助JDBC对不同厂商的数据库进行操作,并实现与数据库的完全通信。所以,JDBC使得用Java语言开发的应用程序不依赖于具体的数据库,具有良好的跨平台性。JDBC驱动程序虽然JDBC提供的用于连接和操作数据库的各种标准API,极大地方便了Java数据库应用程序的开发,但是,在实际的Java应用程序中使用JDBC技术对具体的数据库进行各种操作之前,需要在应用程序中加载相应数据库的JDBC驱动程序才可以实现。Java数据库应用程序、数据库和JDBC驱动程序这三者的关系类似于计算机、数码设备和数码设备的驱动程序的关系,计算机想要识别并操作各种数码设备,就需要在计算机上安装相应数码设备的驱动程序,如数码相机、U盘等。常见的JDBC驱动程序有以下几类:JDBC-ODBC桥接驱动程序JDBC本地驱动程序网络协议搭配纯Java驱动程序本地协议搭配纯Java驱动程序JDBC的基本功能包括:建立与数据库的连接执行SQL语句和处理查询结果关闭与数据库的连接采用JDBC-ODBC桥接方式连接数据库的一般步骤为加载驱动程序形式如下:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);定义连接字符串、数据库用户名和密码数据库连接字符串的作用是用来指定将要连接数据库的路径或地址,一般形式如下:String url = “jdbc:odbc:数据源名称”;String username = “用户名”;String password = “密码”;建立数据库连接一般形式如下:Connection conn=DriverManager.getConnection(url,username,passwordd);DriverManager类的常用方法如表所示:方法名称 方法功能public static Connection getConnection(String url) throws SQLException 试图建立到指定数据库URL的连接public static Connection getConnection(String url, String user, String password) throws SQLException 试图建立到指定数据库URL的连接,同时需要用户名和密码【实例10-1:建立数据库连接】(实例代码详见教材)任务实施根据上述数据库连接的相关知识,下面就来在本项目的应用程序中实现与数据库的连接。在程序文件1的基础上,增加应用程序连接数据库的代码,具体的设计过程和详细代码如下:【程序文件2:StudentInfo.java】(程序代码详见教材)技能拓展【技能拓展任务】参照程序文件2的数据库连接过程,通过JDBC-ODBC桥接方式连接SQL Server 2000或2005及以上版本类型的数据库。任务3:在应用程序中实现数据库的查询和更新操作任务分析本项目的任务3是要求应用程序大致要实现以下功能:用户点击“浏览”按钮时,应用程序能够把当前数据库中指定表的所有记录数据读取到文本框之中。用户点击“增加”按钮时,应用程序能够弹出“增加学生信息”的对话框实现录入学生信息的功能。用户点击“查看”按钮时,应用程序能够弹出“查看学生信息”的对话框实现查询学生信息的功能。用户点击“删除”按钮时,应用程序能够弹出“删除学生信息”的对话框实现删除学生信息的功能。用户点击“修改”按钮时,应用程序能够弹出“修改学生信息”的对话框实现修改学生信息的功能。相关知识点Connection接口的常用方法方法名称 方法功能Statement createStatement() throws SQLException 创建一个Statement对象来将SQL语句发送到数据库PreparedStatement prepareStatement(String sql) throws SQLException 创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库void close() throws SQLException 关闭数据库连接,释放相关资源Boolean isClosed() throws SQLException 查询此Connection对象是否已经被关闭Statement接口的常用方法方法名称 方法功能ResultSet executeQuery(String sql) throws SQLException 执行给定的SQL查询语句,返回一个ResultSet对象int executeUpdate(String sql) throws SQLException 执行给定的SQL更新语句,返回更新的记录数void close() throws SQLException 关闭Statement对象,释放相关资源boolean isClosed() throws SQLException 查询此Statement对象是否已经被关闭Connection getConnection() throws SQLException 获取生成此Statement对象的Connection对象ResultSet接口的常用方法方法名称 方法功能int getInt(int columnIndex) throws SQLException 以int的形式获取当前行中指定列索引的值int getInt(String columnIndex) throws SQLException 以int的形式获取当前行中指定列名的值String getString(int columnIndex) throws SQLException 以String的形式获取当前行中指定列索引的值String getString(String columnIndex) throws SQLException 以String的形式获取当前行中指定列名的值boolean previous() throws SQLException 将指针移动到此ResultSet对象的上一行, 如果不存在,则返回falseboolean next() throws SQLException 将指针移动到此ResultSet对象的下一行,如果不存在,则返回falsevoid close() throws SQLException 关闭ResultSet对象,释放相关资源boolean isClosed() throws SQLException 查询此ResultSet对象是否已经被关闭Statement getStatement() throws SQLException 获取生成此ResultSet对象的Statement对象数据库的查询和更新操作Java数据库应用程序中实现数据库查询和更新操作的主要过程包括以下几步:调用Connection对象的createStatement()创建用于执行SQL语句的Statement对象;定义SQL查询和更新语句,如SQL中的SELECT、INSERT、DELETE、UPDATE语句;调用Statement对象的executeQuery()方法执行SQL查询语句,并获得一个ResultSet类型的查询结果集对象,调用executeUpdate()方法执行SQL更新语句更新数据库中的数据;根据应用程序的具体要求调用ResultSet对象的相关方法,如next()、getInt()以及getString()等对查询结果进行处理;调用close()方法关闭ResultSet、Statement和Connection对象,释放系统资源。【实例10-2:实现数据库的查询操作】【实例10-3:实现数据库的插入操作】【实例10-4:实现数据库的修改操作】【实例10-5:实现数据库的删除操作】(实例代码详见教材)任务实施设计过程对程序文件2进行如下修改:让StudentInfo类实现ActionListener接口,为五个按钮添加鼠标动作事件监听者,并实现鼠标单击事件的处理方法actionPerformed();在StudentInfo类中增加一个成员方法displayStuInfo(),当用户单击“浏览”按钮时,该方法用于把数据库指定表中的所有数据读取到文本框中;在StudentInfo类中定义一个增加和修改学生信息的对话框内部类AddOrUpdate,一方面用于显示增加和修改操作的界面,另一方面用于执行增加和修改学生信息操作;在StudentInfo类中定义一个根据“学号”查看、删除和修改学生信息的对话框内部类searchOrDeleteOrUpdate,一方面用于显示查看、删除和修改操作的界面,另一方面用于执行查看、删除和修改学生信息操作;在StudentInfo类中增加一个成员方法updateStuInfo(String sql),当用户执行增加、删除和修改操作时,该方法用于更新数据库表中的学生信息;在StudentInfo类中增加一个成员方法searchStuInfo (String sid),该方法的作用是先根据指定学号读取学生信息,然后根据操作类型进行相应的查询或更新操作。代码实现【程序文件3:StudentInfo.java】(程序代码详见教材)技能拓展【技能拓展任务】对程序文件3进行修改,实现以下功能:当单击“浏览”按钮时,学生信息可以按照“学号”从小到大的顺序在文本框中进行显示。使用户除了“学号”以外,还可以根据学生“姓名”对学生信息进行查看、删除和修改操作。 展开更多...... 收起↑ 资源预览