《Java程序设计教程》教案第30课Java数据库编程(一).docx
课题Java数据库编程(-)课时2 课时(90 min )教学目标知识技能目标:(1 ) 了解Java程序、JDBC、JDBC驱动程序和关系数据库的关系(2 )掌握使用JDBC操作数据库的方法(3 )掌握JDBC的类的语法格式和接口思政育人目标:(1 )通过讲解Java中的数据编程,让学生掌握其构造方法,同时培养学生的逻辑思 维、辩证思维和创新思维能力;(2 )引导学生运用所学知识揭示生活中的奥秘,在实践中深化认识,达到学以 致用的目的教学重难点教学重点:掌握使用JDBC操作数据库的方法 教学难点:掌握JDBC的类的语法格式和接口教学方法情景模拟法、问答法、讨论法教学用具电脑、投影仪、多媒体课件、教材、文旌课堂APP教学设计第1节课:课前彳铁一考勤(2 min ) 一互动导入(lOmin ) -传授新知(33min )第2节课:问题导入(5 min ) 一传授新知(35 min )一课堂小结(3 min )一作业 布置(2 min )教学过程主要教学内容及步骤设计意图第一节课课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒 同学通过文旌课堂APP或其他学习软件,了解JDBCjdb Java数据库连接建一种用于执行SQL语句的Java API, 由一组用Java语言编写的类和接口组成。它可以为多种关系数据 库提供统一访问,据此可以构建更高级的工具和接口,使数据库开 发人员能够编写数据库应用程序,实现了所有这些面向标准的目标 并且具有简单,严格类型定义且高性能实现的接口。【学生】提前上网观看相关资料,熟悉教材通过课前的预 热,让学生了解所 学课程的大概内 容,激发学生的学 习欲望考勤(2 min)【教师】使用文旌课堂APP进行签到【学生】按照老师要求签到培养学生的组 织纪律性,掌握学 生的出勤情况互动导入(10 min)【教师】创设情景,进行案例分析、提问DBC (Java DataBase Connectivity ),即 Java 数据库连接。通过互动导入, 引导学生思考,调 动学生的主观能传授新知(33min)简而言之就是通过Java语言来操作数据库。我们可以把JDBC 理解成是官方定义的一套操作所有关系型数据库的规则,规则即 接口。但是,为什么我们可以使用这套JDBC接口进行编程,但 是真正执行的代码却是是驱动jar包中的实现类。 【学生】思考、讨论 【教师】组织发言请小组组长总结全组结论,派代表进行发言。 【学生】发言【教师】通过大家的发言,引入新的知识点,讲解JDBC概述13.1 JDBC 概述1. Java 数据库连接(Java database connectivity , JDBC ) 是一种用于执行SQL语句的Java API,它由一组用Java语言编写 的类和接口组成,可为多种关系数据库提供统一访问接口。2 .进程 是操作系统进行资源分配和调度的独立单位,是应用程序运行的载 体。2. Java程序、JDBC、JDBC驱动程序和关系数据库的关系动性通过讲解,让学 生了解JDBC的 概念,以及使用 JDBC操作数据库 的方法。通过讲解 和实操来掌握 JDBC驱动程序的 下载和使用。13.2加载JDBC驱动程序使用JDBC操作数据库的方法1.下载MySQL的JDBC驱动程序包(| )访问 ,在打开 的下载页面的"Select Operating System"下拉列表中选择MPlatform Independent"选项。(2 )在打开的页面中单击"Platform【ndependenl(Archileclure Independent),ZIP Archive"右侧的"Download"按钮。(3 )在打开的页面中单击"No thanks,just start my download." 链接文字,跳过登录直接下载。(4 )解压下载好的安装包。(详见教材)2.加载JDBC驱动程序包(1 )在Eclipse工作台的项目资源管理器中右击当前项目(如 MyProject ),在打开的快捷菜单中选择"构建路径"一"配置构建 路径"选项。(2 )打开"MyProjeci的属性"对话框,在左侧列表中选择"Java 构建路径”选项后,切换到"库”选项卡中,选择"模块路径"选 项,然后单击“添加外部JAR”按钮。(3 )打开"选择JAR"对话框,在解压后的安装包中选择 Mw 文件,然后单击“打开"按钮。(4 ) Eclipse工作台,在"MyProject"下的"引用的库"中可 看到"mysql-connector- java-8.0.23.jar”文件,则表示加载 JDBC 驱 动程序包成功。(详见教材)【学生】聆听、思考、理解、记忆第二节课问题导入(5 min )【教师】提问引出新知识点上一节我们简单了解了 JDBC的概念,以及使用JDBC操作 数据库的方法。这节课我们主要讲解JDBC的类和接口 JDBC的 常用类和接口包含在java.sql包中,实现Java对数据库的常见操 作,如查询、插入、更新和删除数据等。JDBC的类和接口中的方 法都会引发SQLException异常,那么在程序中应该怎样进行处 理?【学生】思考、发言用问题导入,让 学生主动探究 JDBC的常用类, 激发学生的求知 欲传授新知(30 min)【教师】通过大家的发言,引入新的知识点,讲解JDBC的 类和接口1. DriverManager 类(1 ) DriverManager 类提供了 gelConneclion。方法来建立与指 定数据库的连接,并返回一个Connection对象,语法格式getConnection(String url, String user,通过讲解,让学 生了解JDBC的 常用类和接口,通 过讲解和对案例 的分析,掌握其语 法格式String password)url表示数据库的URL , user表示数据库的用户名,password 表示数据库的密码。(2 )连接本地的数据库student.sql ,可以用以下代码实现DriverManager. getConnection(*'j dbc: mysql: /127.0.0.1:3306/student_sql","root”,“123456”);是本地主机的IP地址,3306是MySQL默认的端口 号。2. Connection 接口Connection接口的常用方法方法说明aeateStatementO创建一个Statement对象prepareStattmentO刚建一个 PreparedStatement 对象doR()蜂薇比Connect1g对象的敖提库和JDBC费源3. Statement 接口Statement接口的常用方法方法说明executeQuenXStimg sql)执行SQL的查诲遇句,返回一个RewltSet对致executeUpda!e(Stnng $ql)执行SQL插入、更新或删除等语句doseO移放比Satemat对象的JDBC薨景例:查询数据库的students表中age为18的所有 记录,可以用以下代码实现/ 创建 Statement 对象 st, con Connection 对象Statement st = con.createStatement();/执行SQL查询语句st.executeQuery(Hselect * from students where age = 18")4. PreparedStatement 接口PreparedStatement接口的常用方法方法谅明executeQueryt)执行SQL的直谓语句,返回一个RaultS机对象executeUpdateO执行SQL幡入、史新斯刑院等语句doseO移放此PreparedSi3mH对象的JDBC夷源setlnt(mt mdex. mt k)将指定位置(mdex)的梦数设置为mt类型值»etFloat(int mdex, float f)桁指定位置(mdCT)的蓼独设置为float类空值setLoQg(mt mdex. loxis I)将指定位置(mdex)的券数设出为1。邛类型值setDauble(mt index, double d)格指定位置(mdex)的参我设贵为double类型值set Boolean (mt mdex: boolean b)将指定位置(mdex)的拶数设置为boolean爽丝值setf)aie(flit mdex. Date date)将指定位强(mdex)的毛幼般专为Date类2s值setStnn虱st mdoc. Stnag s)格指定位置(index)的着效设置为Sttwg类2!值setNull(mt index, mt sqlType)将指定位置(mdex)的参数设置为SQL的NULL类竺例:查询students表中sex为“男”且age为18 的所有记录,可以用以下代码实现。/ 创建 PreparedStatement 对象 ps, con 为 Connection 对象PreparedStatementps=con.prepareStatement(Hselect * from students where sex = ? and age = ?");ps . setstring (1, “男”);/设置第一个通配符的值ps.setlnt (2, 18);/ 设置第二个通配符的值/执行SQL查询语句res = ps.executeQuery();5. ResultSet 接口ResuliSet接口的常用方法方法说明nextO向下移动指针gednt(Stnng colname)以侬类型族取此ResukSet对象寺前行的指定字段(cohume)的值getFloar(Swmg colname)以类外衮取此ResultSet对象当前行的指定字段(colname)的值getLong(Sttmg colname)以long类磬取此Results”对象当前行的指定字段(cohume)的值getDouble(Stnng colname)以double类鬻取此Results”对象与前行的指定字段(colname)的信2«Boolean(Strmg cohiame)以boolean类甄取此ResultSet对象当前行的豌字段(cohume)的值getDue(Strmg colname)以Date类经领取此ResultSet对象当前行的指定字段(colname)的值eetStnagCStnng cohiame)以String类型较取此ResultSet对象当前行的指定字用(colname)的值absolute(int mdex)将指针移到此ResultSet对象指定编号md«)访行【学生】聆听、记录、思考拓展训练 (5 min)【教师】讲解安装MySQL数据库的方法【学生】聆听、记录、思考学生可进一步 巩固知识课堂小结 (3 min)【教师】简要总结本节课的要点本节课学习了 JDBC的概述、驱动程序、JDBC的类及接口。 希望大家通过本课的学习能熟练运用其编写简单程序,并在课下多 加练习,巩固所学知识。【学生】总结回顾知识点总结知识点,巩 固印象作业布置 (2 min)【教师】布置课后作业本章"知识考核”中的选择题【第(1-2 )题】和填空题【第(1-2)题】【学生】完成课后任务延展知识面,多 学科交叉学习教学反思通过本章的教学,我觉得有时候为了完成教学任务忽略了学习方法的指导,从而影 响了教学的质量和效果,理论上严密性和逻辑上严谨性的要求,在今后的教学中应着重 提高学生解决实际问题的能力,培养学生的创造性思维,以此来激发学生善学善钻善创 新的良好习惯。