欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > PPT文档下载  

    《jdbc程序设计》PPT课件.ppt

    • 资源ID:19879803       资源大小:784.31KB        全文页数:50页
    • 资源格式: PPT        下载积分:15积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

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

    《jdbc程序设计》PPT课件.ppt

    JDBC程序设计,议程,体系结构与工作原理 JDBC驱动程序的类型 JDBC程序编写过程 可被更新和滚动的记录集 ,JDBC体系结构,JDBCODBC桥驱动程序(类型1),Java加本地代码驱动程序(类型2),中间数据库访问服务器(类型3),专利协议纯Java驱动程序(类型4),java.sql包概述,JDBC程序编写过程,用JDBC API连接通用数据库,使用java.sql包中的方法加载JDBC驱动程序: Class.forName(“DriverName“); 加载Oracle9i数据库驱动程序的方法为: Class.forName(“oracle.jdbc.driver.OracleDriver“);,创建数据库连接,创建和指定数据库的连接需要使用DriverManager类的getConnection( )方法,其使用格式如下: Connection conn = DriverManager.getConnection(URL,user,password); 该方法返回的是一个Connection对象。这里的URL是一个字符串,代表了将要连接的数据源,即具体的数据库位置。,Connection接口,该方法的执行过程如下: 首先解析JDBC URL,然后搜寻系统内所有已注册的JDBC驱动程序,直到找到符合JDBC URL设定的通讯协议为止。 如果寻找到符合的JDBC驱动程序,则DriverManager就建立新的数据库连接;否则就返回一个null,然后继续查询其他驱动程序。 如果最后无法找到适当的JDBC驱动程序,以至于无法顺利建立数据库连接,Java应用程序将抛出一个SQLException异常。,标准的JDBC URL语法格式如下: jdbc : : (1)jdbc : driver : database 通过ODBC连接数据库的例子如下: Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connection Conn = DriverManager.getConnection(“jdbc:odbc:DBName);,(2)jdbc:driver:/host:port/database或jdbc:driver:host:port:database 在连接Oracle数据库时,就可以使用下面的形式 Class.forName(“oracle.jdbc.driver.OracleDriver“); Connection Conn = DriverManager.getConnection(“jdbc:oracle:thin:myhost:1521:DBName“,“scott“,“tiger“);,执行SQL语句,创建Statement对象是使用Connection接口的createStatement( )方法来实现的: Statement stmt = conn.createStatement( ); executeQuery( )方法返回一个ResultSet类的对象,它包含了SQL查询语句执行的结果。例如,下面的语句: ResultSet rs = stmt.executeQuery(“SELECT * FROM student“); 如果执行INSERT、UPDATE、DELETE命令,必须使用executeUpdate( )方法。例如,下面的语句: ResultSet rs = stmt.executeUpdate(“CREATE TABLE table1(No CHAR(10), Name CHAR(10)“);,Statement接口的方法,处理结果集,例如,下面的程序片段就是利用while循环输出ResultSet对象内的所有数据项: while(rs.next( ) System.out.println(rs.getInt(1); System.out.println(rs.getString(2); ,关闭数据库连接,关闭各个对象的方式如下: Try rs.close( ); stmt.close( ); con.close( ); catch(SQLException e) e.printStackTrace( ); ,JNDI和数据源,Statement接口,一旦拥有数据库连接,就可以与数据库产生交互作用。java.sql.Statement对象,或者它的子类java.sql.PreparedStatement或者java.sql.CallableStatement,可以处理这种交互作用。 Statement对象用于给数据库发送SQL语句。然而,由于java.sql.Statement是接口,所以不能直接实例化实例。通过使用Connection对象的createStatement( )方法,可得到Statement对象。,示例,Connection conn=null; InitialContext ic=new InitialContext( ); DataSource ds = (DataSource)ic.lookup(“jdbc/JDBCConnectionCoreDS“); conn=ds.getConnection(); Statement st=conn.createStatement( ); Statement stmt = conn.createStatement( );,示例,下面的代码片段说明了如何执行一个数据表查询操作: String sql = “select * from userinfo“; ResultSet rs = statement.executeQuery(sql); 例如,下面的代码片段说明了如何执行数据插入操作: String sql = “insert into userinfo values('7107',lxt','123789',lxt008163.com')“; int rowCount = statement.executeUpdate(sql);,示例说明: 上述源程序中在trycatchfinally语句块中包装了代码。 这是因为每个JDBC方法调用都有可能导致产生SQLException异常,所以,需要捕捉错误,输出适当的消息,同时把错误代码返回给调用者。 使用finally语句块是为了确保关闭和执行Connection对象,而不管是否产生了SQLException异常。,ResultSet接口,Statement接口的方法executeQuery( )采用String变元,返回java.sql.ResultSet对象。传入的变元应该是有效的SQL查询。 例如,下面的代码片段: String sql = “select * from userinfo where code='7102'“; ResultSet rs = statement.executeQuery(sql); 例如,下面的代码片段: String sql = “select * from userinfo where code='7102'“; ResultSet rs = statement.executeQuery(sql); while(rs.next( ) / process the row ,ResultSet接口的方法,ResultSet接口的方法,示例,例如,对于下面的查询: ResultSet rs = statement.executeQuery(“select code,name from userinfo“); 可以按照名称返回列: while(rs.next() String code=rs.getString(“code“); String name=rs.getString(“name“); 或者按照位置返回列: while(rs.next() String code=rs.getString(1); String name=rs.getString(2);,记录集的元数据,例如,下面的代码片段: ResultSet rs = statement.executeQuery(“select * from userinfo“); ResultSetMetaData rsmd=rs.getMetaData( ); 例如,下面的代码片段: for(int i=1; i=rsmd.getColumnCount( ); i+) System.out.print(“Column name=“+rsmd.getColumnName(i); System.out.print(“Type=“+rsmd.getColumnTypeName(i); System.out.print(“Java type=“+rsmd.getColumnType(i);,示例说明: 使用java.sql.Types常量名称与数据表的列的Java类型比较,根据返回值的真或假来判断是否为日期或时间类型。 ResultSet接口提供了getDate( )、getTime( )和getTimestamp( )方法分别返回Date、Time和Timestamp类型的对象。 在Oracle数据库中,如果ResultSet对象中返回当前SYSDATE: ResultSet rs=st.executeQuery(“select sysdate from dual“); 如果使用getDate( )方法,将得不到时间部分;如果使用getTime( )方法,将得不到日期部分;同时返回时间和日期的方法是使用getTimestamp( )方法。,可被更新和滚动的记录集,创建Statement对象实例: Statement st=connection.createStatement(int 指针类型参数,int 数据一致性参数); 将这两个参数有机地组合起来,就可以ResultSet对象的滚动和更新操作。,指针类型参数,指针类型参数,示例,下面的语句将从Statement对象创建的ResultSet对象设定为将即可以滚动,又可以更新: Statement st=connection.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);,示例,创建Statement对象之后,现在可以创建允许更新的ResultSet对象。Oracle规定,不能为可更新的记录集使用SELECT *语法,但可通过使用表的别名来解决这个问题: ResultSet rs=st.executeQuery(“select n.* from userinfo n“); 根据数据类型,使用ResultSet的updateXXX( )方法更新列的值,接着使用updateRow( )方法实际更新数据库。 while(rs.next( ) rs.updateString(“ “, “ “); rs.updateRow( );,PreparedStatement接口,PreparedStatement接口是Statement接口的扩展,代表了一条已编译的SQL语句。 已编译语句的含义是:SQL语句传送给RDBMS,在这里被编译、优化与缓存。因为语句不需要在每次执行时由数据库编译与优化,所以语句重复执行的整体性能被大大提高了。,示例,例如,对于下面的查询字符串: String sql=“SELECT * FROM userinfo WHERE name = ? “; 查询字符串中的“?”用于每个输入参数的占位符。这些占位符对应于数据库中的变量,称为绑定变量。 使用绑定变量的查询将被编译一次,随后把查询计划存储在共享池中,可以从中检索和重用它。,创建一个PreparedStatement对象可以使用Connection对象的prepareStatement( )方法,如果Connection对象为conn,则创建PreparedStatement对象prepare的语句为: PreparedStatement prepare = conn.prepareStatement(sql); 这样在PreparedStatement对象创建的同时,就将带有参数的SQL语句作为参数传递给了它。,PreparedStatement接口的方法,CallableStatement接口,CallableStatement接口是PreparedStatement的子接口,它同时拥有PreparedStatement及其超接口Statement的所有功能。 它允许在数据库上调用PL/SQL代码,即匿名块或存储过程和函数,从而添加从它们接受输出参数的能力。,DatabaseMetaData接口,小结,体系结构与工作原理 JDBC驱动程序的类型 JDBC程序编写过程 可被更新和滚动的记录集 ,

    注意事项

    本文(《jdbc程序设计》PPT课件.ppt)为本站会员(jun****875)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    网站客服QQ:2881952447     

    copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

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