《Java数据库连接(JDBC).ppt》由会员分享,可在线阅读,更多相关《Java数据库连接(JDBC).ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第8章:Java数据库连接8.1 JDBC概述ODBC(Open Database Connectivity,开放数据库互联)JDBC(Java Database Connectivity,Java数据库连接)JDBC-ODBC Bridge(JDBC-ODBC 桥接器)JDBC-ODBC相关类相关类JDBC中中最最重重要要的的部部分分是是定定义义了了一一系系列列的的抽抽象象接接口口,通通过过这这些些接接口口,JDBC实实现了三个基本的功能:建立与数据的连接、执行现了三个基本的功能:建立与数据的连接、执行SQL声明和处理执行结果。声明和处理执行结果。这些接口都存在这些接口都存在Java的的sq
2、l包中,它们的名称和基本功能是:包中,它们的名称和基本功能是:java.sql.DriverMagnager:用于处理驱动程序的加载和建立新数据库连接用于处理驱动程序的加载和建立新数据库连接java.sql.Connection:用于处理与特定数据库的连接:用于处理与特定数据库的连接java.sql.Statement:用于在指定连接中处理:用于在指定连接中处理SQL语句语句java.sql.PreparedStatement:Statement的子类,用于处理预编译的的子类,用于处理预编译的SQL语句语句java.sql.ResultSet:用于处理数据库操作结果集:用于处理数据库操作结果集
3、8.2 JDBCODBC编程 Java通过通过JDBC-ODBCBridge访问数据库的一般访问数据库的一般为以下为以下5个步骤个步骤:1、创建指定数据库的URL 要建立与数据库的连接,首先要创建指定数据库的URL。URL的一般形式如下:String url=jdbc:odbc:数据源的名字;2、加载驱动程序 为了连接具体的数据库,JDBC必须首先加载该数据库的相应驱动程序,程序代码形式如下:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);8.2 JDBCODBC编程3、创建连接Connection Con=java.sql.DriverManager.
4、getConnection(“数据库的URL”,“登陆数据库用户名”,“用户口令”);4、创建SQL语句对象Statement stmt=con.createStatement();5、执行查询、处理查询结果ResultSet rs=stmt.executeUpdate(“SQL语句的内容”);设置数据源(1)用Access建立一个数据库student.mdb,在库中建一个表chengjibiao;(2)配置ODBC数据源,打开“控制面板-管理工具-ODBC源”,添加Microsoft Access Driver;(3)数据源名称:mydb要连接的数据库:student登陆用户名:密码:运行结
5、果:可滚动结果集我们用ResultSet对象的next()方法顺序查询数据,但如果我们需要前后移动、或显示结果集指定的一条记录时,需要得到一个可滚动的结果集。Statement st=con.createStatement(int type,int concurrency);Type的取值决定滚动方式;concurrency的取值决定是否可用结果集更新数据库。可滚动结果集type:ResultSet.TYPE_FORWARD_ONLY;游标只能向下滚动。ResultSet.TYPE_SCROLL_INSENSITIVE;游标能上下滚动,数据库变化时,当前结果集不变。ResultSet.TYPE
6、_SCROLL_SENSITIVE;游标能上下滚动,数据库变化时,当前结果集同步改变。可滚动结果集concurrency:ResultSet.CONCUR_READ_ONLY;ResultSet.CONCUR_UPDATABLE;滚动查询常用到的ResultSet方法public boolean previous()afterLast();beforeFirst();first();last();isAfterLast();isBeforeFirst();public int getRow();例子排序查询在SQL语句中使用Order By语句,以得到排好序的记录。模糊查询用%代替一个或多个字
7、符;用_代替一个字符;10.7 更新、添加、删除记录Statement对象调用方法:executeUpdate(String sqlstatement);更新用到的sql语句:update chengjibiao set 数学=100 where 姓名=王二添加记录用到的sql语句:insert into chengjibiao values(arg,arg);删除记录用到的sql语句:delete from chengjibiao where 姓名=王二补充:常用SQL语句数据定义语句:create table employee(name varchar(5),sex char(1),add
8、ress varchar(30);drop table employee;create index name on employ;drop index;8.4 开发一个小型的数据库管理系统 8.4.1可行性分析和需求分析可行性分析和需求分析系统登录为保证系统的安全性,用户需要经过身份验证才能登录系统。信息更新信息更新包括学生信息、教师信息、考试成绩三部分,能够实现各种信息记录的增加、修改,信息更新非常方便简捷。信息查询信息查询包括基本信息、成绩明细、学分查询三部分,用户可以根据不同需要查询到不同学生基本信息和成绩、学分信息等。信息统计信息统计包括成绩统计、学分统计两部分。根据配置条件统计出优秀
9、的学生以及学分是否修满等信息。系统管理系统管理包括系统配置、退出系统两部分。用户可以在系统配置部分中灵活设置学生所需学分的标准。8.4.2系统功能结构图系统功能结构图课本课本161页图页图8.118.4.3数据库设计数据库设计本系统采用本系统采用SQLServer2000数据库,其数据库的名称为数据库,其数据库的名称为Student,数据库数据库Student中包含了中包含了6个表,学生信息表个表,学生信息表Student_Info、教师信、教师信息表息表Teacher_Info、学生成绩表、学生成绩表Grade_Info、学生课程科目表、学生课程科目表Subject_Info、系统配置表、系
10、统配置表Config_Info和用户信息表和用户信息表User_Info。下面是下面是在在SQLServer2000中,本系统的数据库中,本系统的数据库Student包含的各表。包含的各表。课本课本161163页的各表页的各表8.4.4系统设计和代码实现系统设计和代码实现操作数据库的公共模块类操作数据库的公共模块类1.ConnDB.java2.LoginDB.java 3.StuInfoDB.java4.TeaInfoDB.java5.SubInfoDB.java6.ExaInfoDB.java7.ConfInfoDB.java系统登陆模块系统登陆模块login.java高校学生成绩管理系统主
11、界面模块高校学生成绩管理系统主界面模块StuMIS.java信息添加模块信息添加模块1.UpdateStuInfo.java2.UpdateTeaInfo.java3.UpdateSubInfo.java4.UpdateExaInfo.java信息查询模块信息查询模块1QueryStuInfo.java2QueryStuTab.java3QueryGraInfo.java4QueryGraTab.java5QueryScoInfo.java6QueryScoTab.java信息统计模块信息统计模块1.StatGraInfo.java2.StatGraTab.java3.StatScoInfo.java4.StatScoTab.java系统管理模块系统管理模块1.MgerConfInfo.java