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

    java数据库操作.ppt

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

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

    java数据库操作.ppt

    JDBC回顾1java.io包中包含了一系列对输入/输出进行操作的类File类用于访问文件系统,但只能访问文件(或目录)的属性,而不能进行读/写操作流是指一连串流动的数据信号,是以先进先出方式发送信息的通道,从流动方向上区分,流可以分为输入流和输出流,从格式上区分,可以分为字节流和字符流使用FileInputStream类和FileOutputStream类以字节流的方式读写文件回顾2FileReader类和FileWriter类配合BufferedReader类和BufferedWriter类可以以字符流的方式对文件进行读/写操作要从控制台接受输入,需要将System.in对象进行包装,使用如下语句:InputStreamReader isr=new InputStreamReader(System.in);BufferedReader br=new BufferedReader(isr);DataInputStream类和DataOutputStream类在读/写数据时可以区分数据类型绝大部分的IO操作都有可能抛出IOException本章相关词汇单单 词词说说 明明driver驱动,驱动程序驱动,驱动程序connection连接连接manager管理器管理器statement语句语句prepared预备的,预编译的预备的,预编译的result结果结果create创建,创造创建,创造execute执行执行query查询查询本章目标了解JDBC的概念和必要性了解JDBC驱动程序类型了解java.sql包理解JDBC程序的结构使用JDBC进行数据库编程数据库访问技术简介数据库访问技术简介当今企业级应用程序大部分采用了客户机/服务器(C/S)模式;客户端机器需要与服务器进行通讯,要操作数据库中的数据,执行SQL(Structured Query Language结构化查询语言)语句以及检索查询结果;在Java中实现这些活动的技术称作JDBC。数据库编程示意图数据库编程示意图 客户机客户机/服务器服务器应用程序应用程序 数据库编程数据库编程JDBC数据库数据库执行执行 SQL 语句语句检索查询结果检索查询结果 关于关于DBMSDBMSDBMS(DataBase Management System)是指数据库管理系统;目前DBMS的生产商众多,产品也不尽相同,如:Oracle公司的Oracle系列;Microsoft公司的Access系列和SQL Server系列;Microsoft公司早期的FoxPro;IBM公司的DB2;Sybase公司的Sybase;还有自由开源的MySQL等等。这就意味着编程语言要针对不同的DBMS开发不同版本的应用程序,这将是一项非常枯燥的工作。ODBCODBCODBC(Open DataBase Connectivity)指开放式数据库连接,是由Microsoft公司提供的应用程序接口;它负责连接各种不同产商和类型的DBMS,然后为各种不同的编程语言提供查询、插入、修改和删除数据的功能;如同在各种不同的DBMS和各种不同的编程语言之间架设了一座通用的桥梁。JDBCJDBCJDBC(Java DataBase Connectivity)是由Sun Microsystem公司提供的API(Application Programming Interface应用程序编程接口);它为Java应用程序提供了一系列的类,使其能够快速高效地访问数据库;这些功能是由一系列的类和对象来完成的,我们只需使用相关的对象,即可完成对数据库的操作。JDBCJDBC工作方式示意图工作方式示意图 Java 程序程序 JDBC 驱动程序驱动程序数据库数据库SQL 命令命令 结果结果 JDBCJDBC驱动程序类型驱动程序类型使用JDBC连接数据库可以通过不同的驱动方式来实现,有4种驱动类型:JDBC-ODBC桥驱动纯Java驱动本地API部分Java驱动JDBC网络纯Java驱动不论采用哪种驱动方式,在程序中对数据库的操作方式基本相同,只是加载不同的驱动程序即可。java.sqljava.sql包包java.sql包也是Java内置的包,其中包含了一系列用于与数据库进行通信的类和接口;如果要使用到这些类和接口的话,则必须显式地声明如下语句:import java.sql.*;java.sqljava.sql包中的一些接口包中的一些接口接口名称接口名称说说 明明Connection连接对象,用于与数据库取得连接连接对象,用于与数据库取得连接Driver用于创建连接(用于创建连接(Connection)对象)对象Statement语句对象,用于执行语句对象,用于执行SQL语句,并将数据检索语句,并将数据检索到结果集(到结果集(ResultSet)对象中)对象中PreparedStatement预编译语句对象,用于执行预编译的预编译语句对象,用于执行预编译的SQL语句,语句,执行效率比执行效率比Statement高高CallableStatement存储过程语句对象,用于调用执行存储过程存储过程语句对象,用于调用执行存储过程ResultSet结果集对象,包含执行结果集对象,包含执行SQL语句后返回的数据语句后返回的数据的集合的集合java.sqljava.sql包中的一些类包中的一些类类类 名名 称称说说 明明SQLException数据库异常类,是其它数据库异常类,是其它JDBC异常类的根类,继承异常类的根类,继承于于java.lang.Exception,绝大部分对数据库进行操,绝大部分对数据库进行操作的方法都有可能抛出该异常作的方法都有可能抛出该异常DriverManager驱动程序管理类,用于加载和卸载各种驱动程序,驱动程序管理类,用于加载和卸载各种驱动程序,并建立与数据库的连接并建立与数据库的连接Date该类中包含有将该类中包含有将SQL日期格式转换成日期格式转换成Java日期格日期格式的方法式的方法TimeStamp表示一个时间戳,能精确到纳秒表示一个时间戳,能精确到纳秒JDBCJDBC程序访问数据库步骤程序访问数据库步骤开开 始始导入导入 java.sql包包 加载并注册驱动程序加载并注册驱动程序创建创建Connection 对象对象创建创建 Statement 对象对象执行执行SQL语句语句关闭关闭ResultSet 对象对象关闭关闭Statement对象对象关闭关闭Connection对象对象使用使用ResultSet对象对象建立数据源(建立数据源(ODBC)附加相应产商提供的驱动附加相应产商提供的驱动 结结 束束JDBC-ODBC桥方式桥方式纯纯Java驱动方式驱动方式步骤详解步骤详解1 1:建立数据源:建立数据源这里以JDBC-ODBC桥驱动方式为例,逐步详细地讲解在Java程序中如何操作数据库,而对于其它驱动方式,只需更换驱动程序即可,其余不变;首先建立ODBC数据源:【开始】【设置】【控制面板】【管理工具】【数据源(ODBC)】新建数据源,名称可以任意,这里假设已经建立了一个名为myODBC的数据源,连接到SQL Server 2000中的pubs数据库。步骤详解步骤详解2 2:加载驱动程序:加载驱动程序使用Class类的forName方法,将驱动程序类加载到JVM(Java虚拟机)中;对于使用JDBC-ODBC桥的驱动方式,应该加载:sun.jdbc.odbc.JdbcOdbcDriver类如:Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);方方 法法 原原 型型说说 明明static Class forName(String className)throws ClassNotFoundException将由将由className指定完整名称的类指定完整名称的类加载到加载到JVM中,如果加载失败,将中,如果加载失败,将抛出异常,必须捕捉抛出异常,必须捕捉步骤详解步骤详解3 3:获得连接对象:获得连接对象成功加载驱动后,必须使用DriverManager类的静态方法getConnection来获得连接对象;对于使用JDBC-ODBC桥的连接方式,连接字符串的一般形式是:“jdbc:odbc:数据源名称”,如:Connection con=DriverManager.getConnection(jdbc:odbc:myODBC,sa,);方方 法法 原原 型型说说 明明static Connection getConnection(String url,String user,String password)throws SQLException参数参数url是连接字符串,参数是连接字符串,参数user是数据库用户是数据库用户名,参数名,参数password是登录口令,成功连接到数是登录口令,成功连接到数据库返回据库返回Connection对象,连接失败则抛出对象,连接失败则抛出SQLException异常,必须捕捉异常,必须捕捉步骤详解释步骤详解释4 4:创建语句对象:创建语句对象一旦成功连接到数据库,获得Connection对象后,必须通过Connection对象的createStatement方法来创建语句对象,才可以执行SQL语句;如:Statement sta=con.createStatement();方方 法法 原原 型型说说 明明Statement createStatement()throws SQLException成功创建返回成功创建返回Statement对象,对象,否则抛出否则抛出SQLException异常,异常,必须捕捉必须捕捉步骤详解步骤详解5 5:执行:执行SQLSQL语句语句使用语句对象来执行SQL语句,有两种情况:一种是执行DELETE、UPDATE和INSERT之类的数据库操作语句(DML),这样的语句没有数据结果返回,使用Statement对象的executeUpdate方法执行;如:sta.executeUpdate(INSERT INTO Friends VALUES(田七,重庆,456712,2003-2-25,7500);方方 法法 原原 型型说说 明明int executeUpdate(String sql)throws SQLException参数参数sql是要执行的是要执行的SQL语句,执行成功返语句,执行成功返回受影响的行数,执行失败则抛出回受影响的行数,执行失败则抛出SQLException异常,必须捕捉异常,必须捕捉步骤详解步骤详解5 5:执行:执行SQLSQL语句(续)语句(续)另一种是执行SELECT这样的数据查询语句(DQL),这样的语句将从数据库中获得所需的数据,使用Statement对象的executeQuery 方法执行;如:ResultSet rs=sta.executeQuery(SELECT*FROM Friend);方方 法法 原原 型型说说 明明ResultSet executeQuery(String sql)throws SQLException参数参数sql是要执行的是要执行的SQL语句,查询成语句,查询成功返回包含有结果数据的功返回包含有结果数据的ResultSet对对象,否则抛出象,否则抛出SQLException异常,必异常,必须捕捉须捕捉步骤详解步骤详解6 6:关闭资源:关闭资源当对数据库的操作结束后,应当将所有已经被打开的资源关闭,否则将会造成资源泄漏;Connection对象、Statement对象和ResultSet对象都有执行关闭的close方法;函数原型都是:void close()throws SQLException如:rs.close();/关闭ResultSet对象sta.close();/关闭Statement对象con.close();/关闭Connection对象有可能抛出SQLException异常,必须捕捉;请注意关闭的顺序,最后打开的资源最先关闭,最先打开的资源最后关闭。数据库操作示例数据库操作示例import java.sql.*;/导入导入java.sql包包public class JDBCDemo public static void main(String args)String strCon=jdbc:odbc:myODBC;/连接字符串连接字符串 String strUser=sa;/数据库用户名数据库用户名 String strPwd=;/口令口令 System.out.println(正在连接数据库正在连接数据库.);try /监控异常监控异常 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/加载驱动程序加载驱动程序 Connection con;/获得连接对象获得连接对象 con=DriverManager.getConnection(strCon,strUser,strPwd);System.out.println(成功连接到数据库。成功连接到数据库。);Statement sta=con.createStatement();/创建语句对象创建语句对象 /执行执行SQL语句语句 String strSql=DELETE FROM Friends WHERE Name=郑六郑六;int count=sta.executeUpdate(strSql);System.out.println(成功删除成功删除+count+行数据。行数据。);sta.close();con.close();/关闭所有已经打开的资源关闭所有已经打开的资源 catch(ClassNotFoundException cnfe)cnfe.printStackTrace();catch(SQLException sqle)sqle.printStackTrace();操作结果集操作结果集使用Statement对象的executeQuery方法成功执行SELECT语句后,将返回一个包含有结果数据的ResultSet对象,要从该对象中获取数据,将使用到如下方法:方方 法法 原原 型型说说 明明boolean next()throws SQLException将结果集游标往下移动一行,如果已经到将结果集游标往下移动一行,如果已经到达结果集最后,将会返回达结果集最后,将会返回false,有可能抛,有可能抛异常,必须捕捉异常,必须捕捉X getX(String columnName)throws SQLException获得某个字段的值,获得某个字段的值,X是指具体的数据类是指具体的数据类型,视数据库表中字段的具体情况而定,型,视数据库表中字段的具体情况而定,该方法有一组,并且每个都有两种重载方该方法有一组,并且每个都有两种重载方法,一种是以字段名称为参数,另一种是法,一种是以字段名称为参数,另一种是以字段索引为参数(字段索引从以字段索引为参数(字段索引从1开始),开始),有可能抛异常,必须捕捉有可能抛异常,必须捕捉X getX(int columnIndex)throws SQLException操作结果集示例操作结果集示例try String strCon=jdbc:odbc:MyODBC;System.out.println(正在连接数据库正在连接数据库.);Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection con;con=DriverManager.getConnection(strCon,sa,);System.out.println(成功连接到数据库。成功连接到数据库。);Statement sta=con.createStatement();ResultSet rs=sta.executeQuery(SELECT*FROM Friends);System.out.println(查询到数据如下:查询到数据如下:);while(rs.next()/循环将结果集游标往下移动,到达末尾返回循环将结果集游标往下移动,到达末尾返回false /根据字段名称获得各个字段的值根据字段名称获得各个字段的值 System.out.print(rs.getString(Name)+t);/获得字符串获得字符串 System.out.print(rs.getString(Address)+t);/获得字符串获得字符串 System.out.print(rs.getInt(Telephone)+t);/获得整数获得整数 System.out.print(rs.getDate(HireDate)+t);/获得日期型数据获得日期型数据 System.out.println(rs.getFloat(Salary);/获得浮点型数据获得浮点型数据 rs.close();sta.close();con.close();catch(ClassNotFoundException cnfe)cnfe.printStackTrace();catch(SQLException sqle)sqle.printStackTrace();PreparedStatementPreparedStatement接口接口1 1如果要多次执行相似的SQL语句,可以使用PreparedStatemend(预编译语句对象)对象来执行;通过Connection对象的prepareStatement方法来创建预编译语句对象;PreparedStatement对象会将SQL语句预先编译,这样将会获得比Statement对象更高的执行效率。方方 法法 原原 型型说说 明明PreparedStatementprepareStatement(String sql)throws SQLException参数参数sql是要执行的是要执行的SQL语句,根据指定的语句,根据指定的SQL语语句创建句创建PrepareStatement对象,有可能抛异常,必对象,有可能抛异常,必须捕捉须捕捉PreparedStatementPreparedStatement接口接口2 2包含在PreparedStatement对象中的SQL语句可以带有一个或多个参数,使用“?”作为占位符,如:PreparedStatement ps=con.prepareStatement(UPDATE Friends SET Address=?WHERE Name=?);在执行SQL语句之前,必须使用PreparedStatement对象中的setX方法设置每个“?”位置的参数值;如:ps.setString(1,长沙);ps.setString(2,王五);方方 法法 原原 型型说说 明明void setX(int parameterIndex,X x)throws SQLException将将parameterIndex指定的指定的“?”位置指定为位置指定为x的值,这里的值,这里X可以指代任意数据类型,可以指代任意数据类型,“?”的索引从的索引从1开始。开始。PreparedStatementPreparedStatement接口接口3 3设置好每个参数的值之后,就可以使用PreparedStatement对象的executeUpdate和executeQuery方法来执行SQL语句,这一点和Statement对象很相似:方方 法法 原原 型型说说 明明int executeUpdate()throws SQLException用于执行用于执行INSERT、DELETE和和UPDATE语语句,执行成功返回受影响的行数,否则抛出句,执行成功返回受影响的行数,否则抛出SQLException异常,必须捕捉异常,必须捕捉ResultSet executQuery()throws SQLException用于执行用于执行SELECT语句,执行成功返回包含语句,执行成功返回包含有结果数据的有结果数据的ResultSet对象,否则抛出对象,否则抛出SQLException异常,必须捕捉异常,必须捕捉PreparedStatementPreparedStatement对象示例对象示例String strCon=jdbc:odbc:MyODBC;System.out.println(正在连接数据库正在连接数据库.);Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection con;con=DriverManager.getConnection(strCon,sa,);System.out.println(成功连接到数据库。成功连接到数据库。);PreparedStatement ps;/使用带参数的使用带参数的SQL语句创建语句创建PreparedStatement对象对象ps=con.prepareStatement(UPDATE Friends SET Address=?WHERE Name=?);/设置设置SQL语句中的参数值语句中的参数值ps.setString(1,长沙长沙);ps.setString(2,王五王五);int count=ps.executeUpdate();/执行命令执行命令System.out.println(成功更新了成功更新了+count+行数据。行数据。);ps.close();/关闭资源关闭资源con.close();纯纯JavaJava驱动方式连接数据库驱动方式连接数据库使用JDBC-ODBC桥方式连接数据库,其性能完全取决于数据源(ODBC)的性能,并且无法脱离Microsoft的平台,这样将带来不便;大部分DBMS产商都为自己的产品开发了纯Java的驱动程序,我们只需要加载相应的驱动,就可以直接连接到数据库,而无需通过ODBC桥连接;鉴于DBMS产品太多,这里只针对当今比较流行的SQL Server 2000和Oracle 9i进行介绍。下载驱动程序包下载驱动程序包要使用纯Java驱动,首先必须获得相应数据库的驱动程序包;根据数据库的类型,登录对应产商的官方网站,一般都可以免费获得;下载后,复制到本地磁盘,并将完整路径设置到classpath环境变量中,如用开发工具开发程序,还需在开发环境中设置路径。纯纯JavaJava驱动连接驱动连接SQL Server2000SQL Server2000使用纯Java驱动连接到SQL Server 2000数据库,加载驱动程序应改成如下语句:Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);连接字符串应如下格式:jdbc:microsoft:sqlserver:/服务器名或IP:1433;databaseName=数据库名如:Connection con=DriverManager.getConnection(jdbc:microsoft:sqlserver:/127.0.0.1:1433;databaseName=pubs,sa,);纯纯JavaJava驱动连接驱动连接SQL Server2005SQL Server2005使用纯Java驱动连接到SQL Server 2005数据库,加载驱动程序应改成如下语句:Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);连接字符串应如下格式:jdbc:sqlserver:/服务器名或IP:1433;databaseName=数据库名如:Connection con=DriverManager.getConnection(jdbc:sqlserver:/127.0.0.1:1433;databaseName=pubs,sa,sa);纯纯JavaJava驱动连接驱动连接MySQLMySQL使用纯Java驱动连接到MySQL 5.0数据库,加载驱动程序应改成如下语句:Class.forName(com.mysql.jdbc.Driver);连接字符串应如下格式:jdbc:mysql:/服务器名或IP:3306/数据库名如:Connection con=DriverManager.getConnection(jdbc:mysql:/127.0.0.1:3306/test,root,root);纯纯JavaJava驱动连接驱动连接OracleOracle使用纯Java驱动连接到Oracle 9i数据库,加载驱动程序应改成如下语句:Class.forName(oracle.jdbc.driver.OracleDriver);连接字符串应如下格式:jdbc:oracle:thin:服务名或IP:1521:数据库名如:Connection con=DriverManager.getConnection(jdbc:oracle:thin:127.0.0.1:1521:test,scott,tiger);总结JDBC是使用Java程序操作数据库的技术;使用 Class类的forName 方法可以将驱动程序加载到 Java 解释器中;使用DriverManager类的getConnection方法获得Connection对象,从而建立与数据库的连接;使用Connection对象的createStatement方法创建语句对象,以便执行SQL语句;使用Statement对象的executeQuery或executeUpdate方法执行SQL语句,并使用ResultSet对象来操作结果数据;PreparedStatement接口允许创建预编译的SQL语句,并使得在后续阶段可以指定语句的参数。

    注意事项

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

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




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

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

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

    收起
    展开