欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第15章数据库连接精选文档.ppt

    • 资源ID:44690139       资源大小:1.47MB        全文页数:30页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第15章数据库连接精选文档.ppt

    第15章数据库连接本讲稿第一页,共三十页1.JDBC概述概述 JDBC(Java Database Connectivity)JDBC(Java Database Connectivity)可以说是可以说是JavaJava应用程序与数据库的沟通应用程序与数据库的沟通桥梁,通过桥梁,通过JDBCJDBC所提供的所提供的API(API(应用程应用程序接口序接口),JavaJava程序设计时可以轻松地程序设计时可以轻松地编写出和数据连接的应用程序。编写出和数据连接的应用程序。本讲稿第二页,共三十页JDBC概述概述 JDBCJDBC是由是由SUNSUN公司免费提供的,它分为两种公司免费提供的,它分为两种接口。接口。一种是面向应用程序开发人员的接口一种是面向应用程序开发人员的接口JDBC APIJDBC API,它是它是JDKJDK中的中的java.sql.*java.sql.*中的一中的一系列类、接口、例外以及这些类中的属性和系列类、接口、例外以及这些类中的属性和方法。方法。另一种是面向数据库驱动程序开发的另一种是面向数据库驱动程序开发的JDBC Driver APIJDBC Driver API,并不为普通的开发者并不为普通的开发者熟悉。熟悉。本讲稿第三页,共三十页数据库连接图示数据库连接图示JAVAAPPLICATIONJDBCAPIJAVAManagerJDBCDriverAPIDataBaseJDBC连接数据库结构图DriverADriverBDriverCDriverD本讲稿第四页,共三十页Java Application:Java的应用程序,包括JSP程序、JAVA程序、APPLET小程序等等。它通过调用JDBC API来访问数据库。JDBC API:一种JDBC接口,在其中提供了一系列的类,完成了加载驱动程序,连接数据库,对数据库进行处理,和从数据库中取回结果的功能。本讲稿第五页,共三十页JDBC Manager:负责对上一个JDBC API的调用转换成JDBC Driver API的调用,它是由SUN公司来完成的。JDBC Driver API:针对不同的数据库驱动程序开发商的接口,也是由SUN公司提供的。不同的开发商根据自己的数据库来实现这些接口。本讲稿第六页,共三十页 数据库驱动程序数据库驱动程序 JDBCJDBC要与数据库建立连接,主要提供了要与数据库建立连接,主要提供了三项功能:三项功能:1.1.和数据库建立连接。和数据库建立连接。2.2.将将SQLSQL语句传递给数据库。语句传递给数据库。3.3.返回执行返回执行SQLSQL语句的结果。语句的结果。但是为了和不同的数据库建立连接,但是为了和不同的数据库建立连接,JDBCJDBC必须获取连接数据库的必须获取连接数据库的JDBCJDBC驱动程序。驱动程序。本讲稿第七页,共三十页数据库驱动程序的分类数据库驱动程序的分类 每种不同的数据库的驱动程序都不同,但从类型上分为四类:1.JDBC-ODBC Bridge:被称作JDBC-ODBC 桥。2.部分java技术的本地库驱动。3.本地协议的完全JAVA驱动程序。4.网络协议的完全JAVA驱动程序。本讲稿第八页,共三十页1.JDBC-ODBC Bridge:由于微软的ODBC技术比较完善和成熟,世界上各个数据库管理系统开发商广泛采用。SUN公司开发了一种技术,将JDBC的调用转化成ODBC的调用,起到了一种桥梁连接的作用,被称作JDBC-ODBC 桥。使用这种驱动在进行数据库连接时需要在操作系统中创建了数据库管理系统的ODBC数据源,就可以在JAVA/JSP程序当中访问数据库了。这种技术在JDK中就已经提供了,因此不需要额外的安装程序。独立于具体数据库。本讲稿第九页,共三十页2.部分java技术的本地库驱动:这种驱动方法是将JDBC转成调用执行数据库开发商所提供的API来访问数据库。比方说,大型数据库Oracle其自身的专门驱动程序和SQL Server数据库的驱动程序分别为:oracle.jdbc.driver.OracleDriver,com.Microsoft.jdbc.sqlserver.SQLServerDriver。这种方法和具体的数据库有很大的关系,采用不同的数据库,驱动程序的名字也就不同。本讲稿第十页,共三十页3.本地协议的完全JAVA驱动程序:这种驱动将JDBC调用转化为特定数据库的网络协议。此方法独立于具体数据库。但需要在客户段与数据库之间安装一种中介软件,让客户端的请求通过此中介软件可被转化成数据库能够接受处理的信息。本讲稿第十一页,共三十页4.网络协议的完全JAVA驱动程序:这种驱动将JDBC调用转化为独立于特定数据库的网络协议。此方法独立于具体数据库。客户端不需要安装任何软件和中介软件。完全用JAVA语言通过网络协议将客户端的请求送至数据库端进行处理,而执行结果也能直接从数据库端取回。本讲稿第十二页,共三十页使用JDBC步骤一般来说有下列几个步骤:1.装载数据库的JDBC驱动程序。2.与数据库建立连接。3.将SQL语句传递到数据库中,执行操作,返回得到的结果。4.关闭数据库连接。本讲稿第十三页,共三十页连接过程示例(连接过程示例(不能直接运行不能直接运行)Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver).newInstance();String url=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=college;String user=sa;String password=;Connection conn=DriverManager.getConnection(url,user,password);Statement stmt=conn.createStatement();String sql=select*from teacher;ResultSet rs=stmt.executeQuery(sql);while(rs.next()rs.close();stmt.close();conn.close();本讲稿第十四页,共三十页 装载数据库系统的JDBC驱动程序,是将JDBC驱动程序的类载入至JVM中,需要使用java.lang.Class类中的Class.forName();方法来实现,该方法有一个参数,就是指定的JDBC的驱动器名称。Class.forName(driver_name);例如:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);1.1.装载装载JDBCJDBC的驱动程序的驱动程序 本讲稿第十五页,共三十页2.2.连接数据库连接数据库 在加载了数据库驱动程序后使用DriverManager.getConnection()方法建立与数据库的连接,得到一个ConnectionConnection 类型的对象。Connection con=DriverManager.getConnection(url,username,pwd)三个参数分别是:url 连接数据库的URL。username 用户名。pwd 密码 本讲稿第十六页,共三十页2.2.连接数据库连接数据库 JDBC的URL的语法格式为:jdbc:jdbc:drivername:dbnamedrivername 是JDBC驱动程序的简称,dbname是数据库资源的名称。本讲稿第十七页,共三十页2.2.连接数据库连接数据库 第一种驱动方法JDBC-ODBC Bridge技术,则是jdbc:odbc:DSN名称(ODBC中数据库的DSN名称)。第二种驱动方法则要看数据库的类型和驱动程序的选择,如果使用的SQL SERVER数据库,则是jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=dbname。本讲稿第十八页,共三十页3.3.执行执行SQLSQL语句语句 向已经建立的连接的数据库发送向已经建立的连接的数据库发送SQLSQL语句需要使用语句需要使用StatementStatement对象。对象。StatementStatement对象其中包括了执行对象其中包括了执行SQLSQL语语句和获取返回结果的方法。句和获取返回结果的方法。创建创建statementstatement对象的方法如下:对象的方法如下:Statement stmt=con.createStatement();Statement stmt=con.createStatement();本讲稿第十九页,共三十页3.3.执行执行SQLSQL语句语句 Statement Statement 接口提供了不同执行接口提供了不同执行SQLSQL语句的方法:语句的方法:executeQuery()executeQuery()。ExecuteQuery()ExecuteQuery()方法用于产生单方法用于产生单个结果集的个结果集的SQLSQL查询语句。查询语句。例如:例如:String query=String query=”SELECT*FROM teacherSELECT*FROM teacher”;ResultSet rs=stmt.executeQuery(query);ResultSet rs=stmt.executeQuery(query);本讲稿第二十页,共三十页3.3.执行执行SQLSQL语句语句 l lexecuteUpdate()executeUpdate()。方方法法用用于于执执行行INSERTINSERT、UPDATEUPDATE语语句句。executeUpdateexecuteUpdate方方法法的的返返回回值值是是一一个个整整型型值值,表表示示它它执执行行的的SQLSQL语语句句所所影响的数据库中表的行数(更新计数)。影响的数据库中表的行数(更新计数)。例如:例如:String update=String update=”INSERT INTO teacher VALUESINSERT INTO teacher VALUES(0100201002,王芳王芳,女女,28,28,国际商务系国际商务系,国际贸易国际贸易););int count=stmt.executeUpdate(update);int count=stmt.executeUpdate(update);本讲稿第二十一页,共三十页4.4.处理数据库的返回结果处理数据库的返回结果 ResultSetResultSet对对象象用用来来暂暂时时存存放放数数据据库库查查询询操操作作获获得得的的结结果果。它它包包含含了了符符合合 SQL SQL 语语句句中中条条件件的的所所有有行行,并并且它提供了一套且它提供了一套 get get 方法对这些行中的数据进行访问。方法对这些行中的数据进行访问。例如:例如:ResultSet rs=stmt.executeQuery(ResultSet rs=stmt.executeQuery(“SELECT*FROM teacherSELECT*FROM teacher”););String s1=rs.getString(String s1=rs.getString(“namename”););本讲稿第二十二页,共三十页5.5.关闭连接对象关闭连接对象 当当所所有有的的数数据据库库的的存存取取工工作作都都完完成成以以后后,需需要要进进行行关关闭闭数数据据库库连连接接,可可以以释释放放JDBCJDBC和和数数据据库库端端使使用用的的所所有有资资源。源。con.isClosed();con.isClosed();方方法法用用于于判判断断连连接接是是否否已已经经关关闭闭。一一个个已已经经关关闭闭的的连连接接不不能能够够被被关关闭闭,否否则则会会抛抛出出异异常常。con.close();con.close();使使用用此此方方法法关关闭闭还还没没有有关关闭闭的连接。的连接。本讲稿第二十三页,共三十页创建数据库过程1.建立数据库建立数据库student;建立两个表建立两个表studentlog,studentscore;2(jdbc-odbc桥桥)建立数据源建立数据源mydata连接连接student 写程序加载驱动写程序加载驱动 返回结果返回结果3.(驱动驱动)sp4补丁补丁 判断混合模式判断混合模式sa登录是否可用登录是否可用 导入驱动程序导入驱动程序 写程序加载驱动写程序加载驱动 返回结果返回结果本讲稿第二十四页,共三十页查询数据库PreparedStatementStatement对象在每次执行sql语句时都将语句传给数据库,在多次执行同一个语句时,效率比较低。可以使用PreparedStatement,使用数据库的预编译功能,速度可以提高很多。PreparedStatement对象的sql语句可以接受参数,每次执行时可以传递不同的参数。本讲稿第二十五页,共三十页更新中参数的传递用?来设置参数需要使用PreparedStatement类Set(int,value);Int代表位置,第几个参数;value代表值;本讲稿第二十六页,共三十页查询数据库PreparedStatement创建 Striing sql=”select*from teacher where age=?”;PreparedStatement ps=conn.PreparedStatement(sql),执行ps.setInt(1,30);ResultSet=ps.executeQuery();关闭ps.close();PreparedStatement对象的sql语句可以接受参数,每次执行时可以传递不同的参数。本讲稿第二十七页,共三十页检索结果1.get*(String s):通过列名来检索;rs.getString(“name”);2.get(int i):通过列的位置来检索rs.getString(2);本讲稿第二十八页,共三十页String sql=“update teacher set major=?Where id=?”;Ps.setString(1,“软件工程教研室”);For(int i=0;i10;i+)Ps.setInt(2,i);Ps.executeUpdate();本讲稿第二十九页,共三十页事物回滚为了保证数据的一致性,需要用到事物回滚。在处理多个表时,保证sql要么全部执行,要么都不执行。con.setAutoCommit(false);/更改JDBC事务的默认提交方式 mit();/提交JDBC事务 如果异常,con.rollback();/回滚JDBC事务 本讲稿第三十页,共三十页

    注意事项

    本文(第15章数据库连接精选文档.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开