Java与数据库JDBC-PPT课件.ppt

上传人(卖家):三亚风情 文档编号:3156978 上传时间:2022-07-24 格式:PPT 页数:54 大小:605.50KB
下载 相关 举报
Java与数据库JDBC-PPT课件.ppt_第1页
第1页 / 共54页
Java与数据库JDBC-PPT课件.ppt_第2页
第2页 / 共54页
Java与数据库JDBC-PPT课件.ppt_第3页
第3页 / 共54页
Java与数据库JDBC-PPT课件.ppt_第4页
第4页 / 共54页
Java与数据库JDBC-PPT课件.ppt_第5页
第5页 / 共54页
点击查看更多>>
资源描述

1、 姓名姓名 性别性别 出生日期出生日期 职务职务王红王红 女女 75/03/05 工程师工程师张强张强 男男 70/06/15 讲师讲师李刚李刚 男男 70/07/09 工人工人王芳王芳 女女 65/10/09 工程师工程师字段(列)字段(列)记录记录(行)(行)表文件表文件示例:示例:表文件与二维表对应表文件与二维表对应姓名姓名性别性别年龄年龄贾宝玉贾宝玉男男21林黛玉林黛玉女女19猪八戒猪八戒男男22白骨精白骨精女女20select select 姓名姓名 from from 例:在学生表例:在学生表student(姓名(姓名,性别性别,年龄)中,查年龄)中,查找所有学生的记录找所有学生的

2、记录select select *from from SELECT*/,.FROM 表名表名WHERE AND Select*from where 年龄年龄20 and 性别性别=男男Select 姓名姓名,年龄年龄 from where 年龄年龄=20 and 年龄年龄=23Select 姓名姓名,年龄年龄 from where 年龄年龄 between 20 and 23nType 1:JDBC-ODBC BridgenType 2:Native API Bridge nType 3:JDBC-Middleware nType 4:Pure JDBC Driver JDBCJDBC 的用途

3、是什么?的用途是什么?简单地说,简单地说,JDBCJDBC 可做三件事:可做三件事:v与数据库建立连接;与数据库建立连接;v发送发送 SQLSQL 语句,语句,v处理结果处理结果。JDBC API在java.sql包中定义,其中包括JDBC API用到的所有类、接口和方法利用利用JDBCJDBC 开发数据库应用的一般步骤开发数据库应用的一般步骤(1 1)建立与数据库的连接)建立与数据库的连接(2 2)执行)执行 SQLSQL 语句语句(3 3)处理结果集)处理结果集(4)关闭数据库的连接(1 1)建立与数据库的连接)建立与数据库的连接A A、加载、加载JDBCJDBC驱动程序驱动程序在使用在使

4、用JDBCJDBC驱动程序之前,先加载并注册此驱动程序,若使驱动程序之前,先加载并注册此驱动程序,若使用用JDBC-ODBCJDBC-ODBC桥,则为:桥,则为:Class.forName(Class.forName(“sun.jdbc.odbc.jdbcodbcDriversun.jdbc.odbc.jdbcodbcDriver”););Class.forName(Class.forName(“oracle.jdbc.driver.OracleDriveroracle.jdbc.driver.OracleDriver”););(1 1)建立与数据库的连接)建立与数据库的连接B B、连接到数据

5、库、连接到数据库使用使用DriverManagerDriverManager的的getConnection()getConnection()来连接到指定的数据来连接到指定的数据库,由于可能会同时使用不同的库,由于可能会同时使用不同的JDBCJDBC驱动程序,驱动程序,DriverManagerDriverManager会从已注册的会从已注册的JDBCJDBC驱动程序中搜索合适的驱动驱动程序中搜索合适的驱动程序并连接到数据库,若是使用程序并连接到数据库,若是使用JDBC-ODBCJDBC-ODBC桥,则为:桥,则为:String url=“jdbc:oracle:student”Connecti

6、on con=DriverManager.getConnection(url,“”,“”)数据库数据库URLURL的格式为:的格式为:jdbc:jdbc:子协议子协议odbcodbc表示对表示对ODBCODBC数据源的访问,其格式为:数据源的访问,其格式为:jdbc:odbc:jdbc:odbc:例如:例如:String url =jdbc:odbc:people;DriverManager类的类的getConnection方法用于建立与某个数方法用于建立与某个数据源的连接。若与由据源的连接。若与由URL指定的数据源建立连接成功,则返回指定的数据源建立连接成功,则返回一个一个Connectio

7、n类的对象。以后对于这个数据源的操作都是基类的对象。以后对于这个数据源的操作都是基于这个对象。于这个对象。getConnection方法是方法是DriverManager类中的类中的静态方法。静态方法。其中其中,getConnection()的第的第1个参数是数据库个参数是数据库URL,第,第2个为个为用户名字,第用户名字,第3个为密码。个为密码。例如:例如:Connection con=DriverManager.getConnection(url,“sa”,“”)(2)将将SQL语句送至数据库,执行语句送至数据库,执行SQL语句语句A A、创建、创建 StatementStatement

8、对象对象 建立了到特定数据库的连接之后,就可用该连接发建立了到特定数据库的连接之后,就可用该连接发送送 SQLSQL 语句。语句。StatementStatement 对象用对象用 ConnectionConnection 的方的方法法 createStatementcreateStatement 创建,如下列代码段中所示创建,如下列代码段中所示:Connection con=DriverManager.getConnection(url,sunny,);Statement stmt=con.createStatement();使用JDBC连接到数据库步骤(2)将将SQL语句送至数据库,执行语

9、句送至数据库,执行SQL语句语句B B、发送、发送 StatementStatement 对象对象SQLSQL语句语句 为了执行为了执行 StatementStatement 对象,被发送到数据库的对象,被发送到数据库的 SQLSQL 语句将被语句将被作为参数提供给作为参数提供给StatementStatement 的方法的方法:ResultSet rs=stmt.executeQuery(“SELECT 姓名姓名,性别性别,年龄年龄 FROM student);使用JDBC连接到数据库步骤(2)将将SQL语句送至数据库,执行语句送至数据库,执行SQL语句语句C、使用使用 StatementS

10、tatement 对象执行语句对象执行语句 StatementStatement 接口提供了三种执行接口提供了三种执行 SQLSQL 语句的方法:语句的方法:executeQueryexecuteQuery、executeUpdateexecuteUpdate 和和 executeexecute。使用哪一个方法由使用哪一个方法由 SQLSQL 语句所产生的内容决定。语句所产生的内容决定。u方法方法 executeQueryexecuteQuery 用于产生单个结果集的语句,用于产生单个结果集的语句,例如例如 SELECTSELECT 语句。语句。使用JDBC连接到数据库步骤(2)将将SQL语句

11、送至数据库,执行语句送至数据库,执行SQL语句语句C、使用、使用 Statement 对象执行语句对象执行语句u方法方法 executeUpdateexecuteUpdate 用于执行用于执行 INSERTINSERT、UPDATEUPDATE 或或 DELETEDELETE 语句以及语句以及 SQLSQL DDLDDL(数据定义语言)语句(数据定义语言)语句u方法方法 executeexecute 用于执行返回多个结果集、多个更新计数或二用于执行返回多个结果集、多个更新计数或二者组合的语句。者组合的语句。(2)将将SQL语句送至数据库,执行语句送至数据库,执行SQL语句语句C、使用、使用 S

12、tatement 对象执行语句对象执行语句执行语句的所有方法都将执行语句的所有方法都将关闭关闭所调用所调用的的 StatementStatement 对象的对象的当前打开结果集当前打开结果集(如果存在)。(如果存在)。这意味着在重新执行这意味着在重新执行 StatementStatement 对象之前,需要对象之前,需要完成对当前完成对当前ResultSetResultSet 对象的处理。对象的处理。使用JDBC连接到数据库步骤(2)将将SQL语句送至数据库,执行语句送至数据库,执行SQL语句语句D、使用、使用 Statement 对象执行语句对象执行语句语句完成语句完成对于返回一个结果集的对

13、于返回一个结果集的executeQueryexecuteQuery 方法,在检方法,在检索完索完 ResultSetResultSet 对象的所有行时该语句完成。对象的所有行时该语句完成。对于方法对于方法executeUpdateexecuteUpdate,当它执行时语句即完成。,当它执行时语句即完成。但在少数调用方法但在少数调用方法 executeexecute 的情况中,在检索所有的情况中,在检索所有结果集或它生成的更新计数之后语句才完成。结果集或它生成的更新计数之后语句才完成。使用JDBC连接到数据库步骤(3)处理结果集)处理结果集读入数据库返回的结果读入数据库返回的结果结果集一般是一个

14、表,其中有查询所返回的列标题及相应的结果集一般是一个表,其中有查询所返回的列标题及相应的值。值。例如,如果查询为例如,如果查询为 SELECTSELECT姓名姓名,性别性别,年龄年龄 FROMFROM studentstudent,则结果,则结果集将具有如下形式:集将具有如下形式:使用JDBC连接到数据库步骤姓名姓名性别性别年龄年龄贾宝玉贾宝玉男男21林黛玉林黛玉女女19猪八戒猪八戒男男22白骨精白骨精女女20(3)处理结果集)处理结果集读入数据库返回的结果读入数据库返回的结果ResultSet:ResultSet 包含符合包含符合 SQLSQL 语句中条件的所有行,并且它语句中条件的所有行,

15、并且它通过一套通过一套 getget 方法(这些方法(这些 getget 方法可以访问当前行中的不方法可以访问当前行中的不同列)提供了对这些行中数据的访问。同列)提供了对这些行中数据的访问。ResultSet.next 方法用于移动到方法用于移动到 ResultSet 中的下一中的下一行,使下一行成为当前行。行,使下一行成为当前行。使用JDBC连接到数据库步骤(3)处理结果集)处理结果集行和光标行和光标lResultSetResultSet 维护指向其当前数据行的光标。每调用一次维护指向其当前数据行的光标。每调用一次 nextnext 方法,光标向下移动一行。方法,光标向下移动一行。l最初它位

16、于第一行之前,因此第一次调用最初它位于第一行之前,因此第一次调用 nextnext 将把光标置于将把光标置于第一行上,使它成为当前行。第一行上,使它成为当前行。l随着每次调用随着每次调用 nextnext 导致光标向下移动一行,按照从上至下的导致光标向下移动一行,按照从上至下的次序获取次序获取ResultSetResultSet 行。行。l在在 ResultSetResultSet 对象或其父辈对象或其父辈 StatementStatement 对象关闭之前,光标对象关闭之前,光标一直保持有效一直保持有效 使用JDBC连接到数据库步骤(3)处理结果集)处理结果集列列 方法方法 getXXXge

17、tXXX 提供了获取当前行中某列值的途径。在每一行提供了获取当前行中某列值的途径。在每一行内,可按任何次序获取列值。但为了保证可移植性,应该从左内,可按任何次序获取列值。但为了保证可移植性,应该从左至右获取列值,并且一次性地读取列值。列名或列号可用于标至右获取列值,并且一次性地读取列值。列名或列号可用于标识要从中获取数据的列。例如,如果识要从中获取数据的列。例如,如果 ResultSetResultSet 对象对象 rsrs 的第的第二列名为二列名为“性别性别”,并将值存储为字符串,则下列任一代码将,并将值存储为字符串,则下列任一代码将获取存储在该列中的值:获取存储在该列中的值:StringS

18、tring s s=rs.getString(rs.getString(“性别性别););StringString s s=rs.getString(2);rs.getString(2);使用JDBC连接到数据库步骤(3)处理结果集)处理结果集列列 注意列是从左至右编号的,并且从列注意列是从左至右编号的,并且从列 1 1 开始。同时,用开始。同时,用作作 getXXXgetXXX 方法的输入的列名不区分大小写。方法的输入的列名不区分大小写。提供使用列名这个选项的目的是为了让在查询中指定列名的提供使用列名这个选项的目的是为了让在查询中指定列名的用户可使用相同的名字作为用户可使用相同的名字作为 g

19、etXXXgetXXX 方法的参数。方法的参数。使用JDBC连接到数据库步骤(3)处理结果集)处理结果集读入数据库返回的结果读入数据库返回的结果 由于是进行查询的工作,因此会返回一个由于是进行查询的工作,因此会返回一个ResultSetResultSet对象,可使用对象,可使用whilewhile来读出所返回的数来读出所返回的数据据.例如:例如:ResultSet rs=stmt.executeQuery(“SELECT 姓名姓名,性别性别,年龄年龄 FROM xs);While(rs.next()(4)关闭数据库的连接)关闭数据库的连接关闭关闭 StatementStatement 对象:对

20、象:StatementStatement 对象将由对象将由 JavaJava 垃圾收集程序自动关闭。垃圾收集程序自动关闭。而作为一种好的编程风格,应在不需要而作为一种好的编程风格,应在不需要 StatementStatement 对象时对象时显式地关闭它们。显式地关闭它们。这将立即释放这将立即释放 DBMSDBMS 资源,有助于避免潜在的内存问题资源,有助于避免潜在的内存问题 使用JDBC连接到数据库步骤(4)关闭数据库的连接)关闭数据库的连接关闭关闭 结果集;结果集;关闭关闭 Statement 对象;对象;关闭关闭 连接;连接;使用JDBC连接到数据库步骤下面的代码段是执行下面的代码段是执

21、行 SQLSQL 语句的示例。语句的示例。java.sql.Statementjava.sql.Statement stmtstmt=conn.createStatement();conn.createStatement();ResultSetResultSet r r=stmtstmt.executeQuery(.executeQuery(“SELECT SELECT 姓名姓名,性别性别,年龄年龄 FROMFROM studentstudent”););int i=0int i=0;whilewhile(r r.next().next()i=i+1i=i+1;/打印当前行的值。打印当前行的值

22、。StringString namename=r.r.getString(getString(姓名姓名););StringString sexsex=r r.getString(.getString(性别性别););floatfloat ageage=r r.getInt(.getInt(年龄年龄););System.out.println(ROWSystem.out.println(ROW=+i i+name +sex +age););使用JDBC连接到数据库步骤加载加载JDBC-ODBC bridge 驱动程序;使用驱动程序;使用Class.forName 方法显式加载驱动程序完成:方法显

23、式加载驱动程序完成:建立操作数据库建立操作数据库的的SQL语句;语句;String url =jdbc:odbc:mydatabase;创建创建statement对象对象发送发送SQL语句语句关闭关闭n1建立建立ODBC数据源(可选)数据源(可选)n2装入装入JDBC驱动程序驱动程序 n3建立连接建立连接n4执行执行SQL语句语句n5检索结果检索结果n6关闭连接关闭连接驱动程序管理器连接SQL语句结果集加JDBC驱动程序建立与数据库的连接发送SQL查询得到结果n打开打开Windows的的“控制面板控制面板”,在,在“管理工具管理工具”中找到中找到“数据源数据源(ODBC)”n在在“用户用户DN

24、S”选项卡的选项卡的“用户数据源用户数据源”列表中,单击列表中,单击“添加添加”按钮,弹出按钮,弹出“创建新数据源创建新数据源”对话框对话框 n选择创建选择创建“Microsoft Access Driver”类型的数据源,类型的数据源,然后单击然后单击“完成完成”按钮,弹出按钮,弹出“ODBC Microsoft Access安装安装”对话框对话框 n在此对话框中,输入数据源名称,并单击在此对话框中,输入数据源名称,并单击“创建创建”按按钮,弹出钮,弹出“新数据库新数据库”对话框。如果事先已经建立了对话框。如果事先已经建立了数据库,可以单击数据库,可以单击“选择选择”按钮,并指明数据库的存按

25、钮,并指明数据库的存放路径。放路径。n在在“新建数据库新建数据库”对话框中,输入需要新建的数据库名称,选择对话框中,输入需要新建的数据库名称,选择数据库的保存路径,然后单击数据库的保存路径,然后单击“确定确定”按钮,返回按钮,返回“ODBC Microsoft Access安装安装”对话框。对话框。n在在“ODBC Microsoft Access安装安装”对话框中单击对话框中单击“确定确定”按按钮,返回钮,返回“ODBC数据源管理器数据源管理器”对话框,新添加的用户数据源对话框,新添加的用户数据源将出现将出现在此对话框中。此时,在此对话框中。此时,单击单击“确定确定”按钮,新按钮,新用户数据

26、源创建完成。用户数据源创建完成。数据源创建完成之后,数据源创建完成之后,便可以对这个数据源便可以对这个数据源进行数据表的创建和进行数据表的创建和修改,记录的添加、修改,记录的添加、修改和删除等数据库修改和删除等数据库操作。操作。插入记录,无返回结插入记录,无返回结果果并注意单引号和双引并注意单引号和双引号号思考此程序哪里有问题思考此程序哪里有问题!这个程序的问题又出现在哪里这个程序的问题又出现在哪里?!类或接口名称类或接口名称说明说明java.sql.CallableStatement用于执行SQL存储过程java.sql.Connection表示与一个特定数据库的会话。在一个 Connect

27、ion 的上下文中,执行SQL语句并返回结果。java.sql.DataTruncation 截断一个数据的值产生的异常java.sql.Date对日期的处理类java.sql.Driver数据库驱动程序类。java.sql.DriverManager提供管理 JDBC 驱动器设置的基本服务。java.sql.DriverPropertyInfo 程序员与驱动器交互的类,以发现和提供连接特性java.sql.PreparedStatement可用于有效地多次执行预编译的SQL 语句java.sql.ResultSet提供了通过执行一条语句访问所生成的数据表的功能java.sql.SQLException提供了关于数据库访问错误的信息。java.sql.SQLWarning提供了关于数据库访问的警告信息java.sql.Statement用于执行一条静态的 SQL 语句并获取它产生的结果java.sql.Time 处理时间java.sql.Types此类定义用于标识 SQL 类型的常量java.sql.Timestamp处理具有毫秒级的时间java.sql.DatabaseMetaData 该类提供了关于数据库的整体信息

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Java与数据库JDBC-PPT课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|