电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

31页
  • 卖家[上传人]:我***
  • 文档编号:148780448
  • 上传时间:2020-10-22
  • 文档格式:PPT
  • 文档大小:249.50KB
  • / 31 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、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,再写一个程序访

      2、问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语句传送给相应

      3、的数据库管理系统(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包括数据库服务器地址

      4、及数据库名。我在这里使用的是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;

      5、执行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类型的所

      6、以使用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语句带有?(占位符)号

      7、,如: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) PreparedStateme

      8、nt提高性能 每一种数据库都会尽最大努力对预编译语句提供最大的性能优化.因为预编译语句有可能被重复调用。所以语句在被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语句到数据库不是直接执行而是由数据库先编译,再运行。

      9、每次都需要编译。而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课件》由会员我***分享,可在线阅读,更多相关《(第三、四讲)ch04 JDBC编程技术ppt课件》请在金锄头文库上搜索。

      点击阅读更多内容
    TA的资源
  • 2020届中考英语备考复习-作文课件

    2020届中考英语备考复习-作文课件

  • 2019年中考英语复习-专题十五-交际运用(试卷部分)课件

    2019年中考英语复习-专题十五-交际运用(试卷部分)课件

  • 2019届二轮复习-高中英语-情态动词和虚拟语气课件

    2019届二轮复习-高中英语-情态动词和虚拟语气课件

  • 2019届一轮复习苏教版物质的跨膜运输课件

    2019届一轮复习苏教版物质的跨膜运输课件

  • 2019年北师大版英语单元复习课件::Unit17Laughter课件北师大版选修6

    2019年北师大版英语单元复习课件::Unit17Laughter课件北师大版选修6

  • 2021届新中考物理冲刺备考复习-力-弹力-重力课件

    2021届新中考物理冲刺备考复习-力-弹力-重力课件

  • 2019届一轮复习人教版种群的特征和数量变化课件

    2019届一轮复习人教版种群的特征和数量变化课件

  • 2020年高考地理一轮复习--等高线地形图-课件

    2020年高考地理一轮复习--等高线地形图-课件

  • 2019版高考英语一轮复习-Unit-1-Living-well课件

    2019版高考英语一轮复习-Unit-1-Living-well课件

  • 2019届一轮复习人教版孟德尔的遗传定律——基因分离定律课件

    2019届一轮复习人教版孟德尔的遗传定律——基因分离定律课件

  • 2019届高三第二轮复习专题二万有引力定律及其应用课件

    2019届高三第二轮复习专题二万有引力定律及其应用课件

  • 2020最新部编版语文五年级上册23-鸟的天堂课件含课后练习

    2020最新部编版语文五年级上册23-鸟的天堂课件含课后练习

  • 2020版高考(浙江)一轮复习:第7讲-细胞呼吸课件

    2020版高考(浙江)一轮复习:第7讲-细胞呼吸课件

  • 2020年新教材高中英语UNIT4HISTORYANDTRADITIONSSectionⅢDiscoveringUsefulStructures课件必修第二册

    2020年新教材高中英语UNIT4HISTORYANDTRADITIONSSectionⅢDiscoveringUsefulStructures课件必修第二册

  • 2019届高考历史二轮复习阶段三专题十三罗斯福新政与当代资本主义的新变化课件2

    2019届高考历史二轮复习阶段三专题十三罗斯福新政与当代资本主义的新变化课件2

  • 2019版高考生物二轮复习-专题三-细胞的生命历程-考点9-细胞分裂过程图像和坐标曲线的识别课件

    2019版高考生物二轮复习-专题三-细胞的生命历程-考点9-细胞分裂过程图像和坐标曲线的识别课件

  • (通史版)2021版高考历史一轮复习第4部分高考讲座(三)2高考非选择题(12分开放探究题)规范答题讲练课件

    (通史版)2021版高考历史一轮复习第4部分高考讲座(三)2高考非选择题(12分开放探究题)规范答题讲练课件

  • 2019届高三地理复习第五讲--《区际联系与区域协调发展》课件

    2019届高三地理复习第五讲--《区际联系与区域协调发展》课件

  • 2021人教部编版历史九年级上册习题课件:第18课美国的独立

    2021人教部编版历史九年级上册习题课件:第18课美国的独立

  • 2020学年新教材高中英语Unit1FoodforthoughtPeriodTwoStartingout课件

    2020学年新教材高中英语Unit1FoodforthoughtPeriodTwoStartingout课件

  • 点击查看更多
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.