电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

(第三、四讲)ch04 JDBC编程技术ppt课件

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

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

(第三、四讲)ch04 JDBC编程技术ppt课件

JDBC编程技术,MySQL数据库 JDBC编程基本概念 JDBC高级编程 数据库分层设计,本章主要目标,MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。另外MySQL尤其受到Java教育的欢迎。是学习Java EE编程者的首选数据库。,MySQL数据库,JDBC是一种可用于执行SQL语句的JavaAPI (Application Programming Interface,即应用程序设计接口)。它由一些Java类组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。 通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问SyBase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。,JDBC编程基本概念(1),简单地说,JDBC能完成下列三件事: (1) 同一个数据库建立连接; (2) 向数据库发送SQL语句; (3) 处理数据库返回的结果。,JDBC编程基本概念(2),JDBC是一种可用于执行SQL语句的JavaAPI (Application Programming Interface,即应用程序设计接口)。它由一些Java类组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。 通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问SyBase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。,JDBC数据库编程基本步骤(1),第1步:将驱动程序导入到工程,程序中加载驱动。 应用程序与数据库是两个独立的产品,如果我们使用Java连接数据库,我们需要驱动将两者联系起来。如果把连接对象看做是应用程序同数据库连接的桥梁的话,驱动程序类似于建造该桥梁的原材料。随着连接的数据库不同,驱动也不同。JDBC驱动程序是由很多访问数据库的类构成,为了管理方便将这些类打包成一个.jar文件。驱动可以在网上下载。并且需要添加到工程中。我们访问MySQL数据库驱动文件为”mysql-connector-java-3.1.10-bin.jar” String driver=com.mysql.jdbc.Driver;/驱动程序描述字符串 Class.forName(driver);/在程序中根据驱动程序描述字符串加载驱动程序,JDBC数据库编程基本步骤(2),第2步:创建连接对象Connection 在主函数中定义的连接数据库字符串url,url包括数据库服务器地址及数据库名。我在这里使用的是MySQL数据库,所以我用的是MySQL驱动程序,不同的数据库用不同的驱动程序,如果你用的不是MySQL,请替换此行。服务器地址是你安装数据库的主机的IP,如果在本机,你也可以用localhost来连接。数据库名是你已经在数据库系统中建立过的,这里是support. String url=jdbc:mysql:/127.0.0.1:3306/support; /一般形式是jdbc:mysql:/数据库IP地址:端口/数据库名 Connection con=DriverManager.getConnection(url,root,1234); /root,1234是连接MySQL的用户名,密码,根据实际情况修改,JDBC数据库编程基本步骤(3),第3步:在连接对象上创建命令对象Statement 通过Statement类所提供的方法,可以利用标准的SQL命令,对数据库直接新增、删除或修改操作 Statement cmd=con.createStatement(); 第4步:执行SQL语句 String sql=select * from customers; 执行select语句,返回结果集ResultSet,ResultSet本质上是指向数据行的游标。每调用一次 next() 方法,游标向下移动一行。最初它位于第一行之前,因此第一次调用 next 将把光标置于第一行上,使它成为当前行。随着每次调用 next 导致游标向下移动一行,按照从上至下的次序获取ResultSet 行。,JDBC数据库编程基本步骤(4),create table students( sno int not null primary key, sname varchar(15) , ssex varchar(2), sdept varchar(15) ); 则我们执行查询命令之后取数据语句如下: Statement cmd=con.createStatement(); String sql=select * from students; ResultSet rs=cmd.executeQuery(sql);,JDBC数据库编程基本步骤(5),while(rs.next() int sno=rs.getInt(1);/表示取当前行第一列,因为这列数据类型是int类型的所以使用getInt()方法 String sname=rs.getString(2); /表示取当前行第二列 String ssex=rs.getString(3); /表示取当前行第三列 String sdept=rs.getString(4); /表示取当前行第四列 System.out.printf(%-8d%-20s%-3s%-20sn,sno,sname,ssex,sdept); 第5步:关闭连接。 关闭连接是一种好的编程习惯。不使用数据库就不要占着连接了。 con.close();,JDBC数据库编程基本步骤(6),完整示例 连SQL Server 数据库的加载驱动、创建连接 : driver=com.microsoft.jdbc.sqlserver.SQLServerDriver url=jdbc:sqlserver:/127.0.0.1:1433;databaseName=usermanager;,JDBC数据库编程基本步骤(7),JDBC高级编程(1),1、PreparedStatement 概念 什么是带参数的Sql语句,在JDBC中如果Sql语句带有?(占位符)号,如:String sql= select * from students where sno=?;这里并不是表示查询学号为?的学生,而是表示这里是一个参数,在执行该语句之前,必须到参数赋值。 在JDBC应用中,如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替Statement.也就是说,减少使用Statement。基于以下的原因:,(1) 代码的可读性和可维护性 虽然用PreparedStatement来代替Statement会使代码多出几行,但这样的代码无论从可读性还是可维护性上来说.都比直接用Statement的代码好多了。 cmd.executeUpdate(insert into tb_name (col1,col2,col2,col4) values (+var1+,+var2+,+var3+,+var4+); cmd = con.prepareStatement(insert into tb_name (col1,col2,col2,col4) values (?,?,?,?),JDBC高级编程(2),(2) PreparedStatement提高性能 每一种数据库都会尽最大努力对预编译语句提供最大的性能优化.因为预编译语句有可能被重复调用。所以语句在被DB的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中(相当于一个涵数)就会得到执行。,JDBC高级编程(3),2、如何使用PreparedStatement 第1步:通过连接获得PreparedStatement对象,用带占位符(?)的构造sql语句。 PreparedStatement cmd = con.preparedStatement( “select * from Students where sname=?”); 第2步:设置输入参数值 。一定要在执行sql语句设置值。 cmd.setString(1,张三);/1表示从左到右数的第一个参数,张三是为第一个参数设置的值,如果还有其它参数需要一个一个赋值。,JDBC高级编程(4),第3步:执行sql语句 rs = cmd.excuteQuery(); Statement发送完整的Sql语句到数据库不是直接执行而是由数据库先编译,再运行。每次都需要编译。而PreparedStatement是先发送带参数的Sql语句,由数据库先编译,再发送一组组参数值。,JDBC高级编程(5),JDBC高级编程(6),元数据最本质、最抽象的定义为:data about data (关于数据的数据)。它是一种广泛存在的现象,在许多领域有其具体的定义和应用。简单的说元数据就是关于数据的数据或关于信息的信息。例如:书的文本就是书的数据,而书名、作者、版权数据都是书的元数据。一般数据库系统用他来表示数据的信息,例如数据的类型,长度,存放位置等关于数据的信息用来管理和维护数据。元数据的使用,可以大大提高系统的检索和管理的效率。连接和结果集的大量信息可以从元数据对象中得到,JDBC提供了两个元数据对象类型DatabaseMetaData和ResultSetMetaData。,如何获得元数据 MetaData(1),JDBC通过元数据(MetaData)来获得具体的表的相关信息,例如,可以查询数据库中有哪些表,表有哪些字段,以及字段的属性等。MetaData中通过一系列getXXX将这些信息返回给我们。 数据库元数据 Database MetaData 用connection.getMetaData()获得;包含了关于数据库整体元数据信息。 结果集元数据 ResultSet MetaData 用resultSet.getMetaData()获得;比较重要的是获得表的列名,列数等信息。,如何获得元数据 MetaData(2),1、结果集元数据对象:ResultSetMetaData meta = rs.getMetaData(); 字段个数:meta.getColomnCount(); 字段名字:meta.getColumnName(); 字段JDBC类型:meta.getColumnType(); 字段数据库类型:meta.getColumnTypeName(); 2、数据库元数据对象:DatabaseMetaData dbmd = con.getMetaData(); 数据库名:dbmd.getDatabaseProductName(); 数据库版本号:dbmd.getDatabaseProductVe

注意事项

本文((第三、四讲)ch04 JDBC编程技术ppt课件)为本站会员(我***)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

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




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.