ImageVerifierCode 换一换
格式:PPTX , 页数:59 ,大小:1.37MB ,
资源ID:9282383      下载积分:14 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9282383.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(java数据库连接.pptx)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

java数据库连接.pptx

1、清华大学出版社,Arial,或,Frutiger 55 Roman 25pt,华文细黑简,25pt,Arial,或,Frutiger 55 Roman 25pt,华文细黑简,25pt,Arial,或,Frutiger 55 Roman 25pt,华文细黑简,25pt,Arial,或,Frutiger 55 Roman 25pt,华文细黑简,25pt,Arial,或,Frutiger 55 Roman 25pt,华文细黑简,25pt,Arial,或,Frutiger Bold 40pt,黑体简,40pt,#,Java,语言程序设计,(,第,2,版,),张思民编著,本章主要内容:,10.1,JDB

2、C,概述,10.2,SQL,语句简介,10.3 JDBC API,10.3.1 JDBC API,简介,10.3.2 JDBC,驱动程序及,URL,一般方法,10.4 JDBC,编程实例,10.4.1,数据库编程的一般步骤,10.4.2,数据表操作,10.4.3,数据库应用,10.1,JDBC,概述,JDBC,即,Java,数据库连接(,Java Database Connectivity,)。它由一组用,Java,语言编写的类和接口组成。,JDBC,为数据库提供了一个标准的,API,,(,API,,即应用程序接口,,Application Program Interface,)。使我们能够用

3、纯,Java,来编写数据库应用程序。,10.1,JDBC,概述,JDBC,的基本结构由,Java,应用程序、,JDBC,管理器、驱动程序或,JDBC-ODBC,桥和数据库四部分组成。,10.2,SQL,语句简介,SQL,是英文,Structured query language,的缩写,意思为结构化查询语言。,1,、关系型数据库,一个典型的关系型数据库通常由一个或多个数据表组成。数据库中的所有数据或信息都被保存在这些数据表中。数据库中的每一个表都有惟一的表名,数据表由行和列组成,其中列称为字段,包括了字段名称、数据类型以及字段属性等信息,而行称为记录,包含每一字段的具体数据值。,学生数据库的组

4、成及相关名词,10.2,SQL,语句简介,2,、数据查询,select,语句的语法格式如下:,select,字段,1,字段,2,from,表名,where,限制条件,;,还可以使用通配符“,%”,来代替任何字符串,常用于模糊查询。例如:,select,学号,姓名,年龄,家庭住址,from,学生情况表,where,姓名,LIKE,李,%;,上述,SQL,语句将会查询所有姓李的学生记录。,10.2,SQL,语句简介,3,、创建数据表,create table,为建立新的数据表语句。,也可以使用可选的条件选项:,例如:,create table,表名,(,字段,1,数据类型,字段,2,数据类型,);

5、create table,表名,(,字段,1,数据类型,限制条件,字段,2,数据类型,限制条件,);,create table,学生情况表,(,学号,varchar(6),姓名,varchar(15),年龄,number(3),家庭住址,varchar(20),联系电话,varchar(20);,10.2,SQL,语句简介,4,、向数据表中插入数据,用,insert,语句向数据表中插入或添加新的数据行(或称为记录)。,例如:,insert into,表名,(,字段,1,字段,n)values(,字段值,1,,字段值,n);,insert into,学生情况表,(,姓名,年龄,家庭住址,联系电

6、话,),values(,李明,22,北京市西祠胡同,87654321);,10.2,SQL,语句简介,5,、更新记录,例如:,update,表名,set,字段,1=,新值,1,字段,2=,新值,2,where,限制条件,;,update,学生情况表,set,年龄,=,年龄,+1,where,姓名,=,李明,;,10.2,SQL,语句简介,6,、删除记录,例如:,delete from,表名,where,限制条件,;,delete from,学生情况表,where,姓名,=,李明,;,10.2,SQL,语句简介,7,、删除数据表,使用,drop table,命令删除某个数据表以及该表中的所有记录

7、例如:,drop table,表名,;,drop table,学生情况表,;,10.3 JDBC API,10.3.1 JDBC API,简介,JDBC,(,Java DataBase Connection,)是,Java,数据库连接,API,。简单地说,,JDBC,要完成三件事:,(,1,)建立数据库的连接;,(,2,)向数据库发出请求,通过,SQL,命令操作数据库中的数据,包括查询、添加、修改、删除等操作;,(,3,)获取并处理数据库返回的结果。,10.3.1 JDBC API,简介,类或接口,作用,DriverManager,类,数据库驱动程序的加载,及与数据库建立连接。,Conne

8、ction,接口,建立与指定数据库的连接。,Statement,接口,向已经建立了连接的数据库发送及处理,SQL,命令。,ResultSet,接口,返回数据库中执行,SQL,命令的结果。,JDBC,中主要的类和接口,10.3.1 JDBC API,简介,1,、,DriverManager,类,DriverManager,类是,JDBC,的管理器,负责管理,JDBC,驱动程序,跟踪可用的驱动程序并在数据库和相应驱动程序之间建立连接,它提供了用于管理一个或多个数据库驱动程序所必需的功能。,成员方法,功能,getConnection(String url),使用指定的数据库,URL,创建一个连接。,

9、getConnection(String url,String user,String password),使用指定的数据库,URL,、用户名和用户密码创建一个连接。,10.3.1 JDBC API,简介,2,、,Connection,接口,Connection,这个接口抽象了大部分与数据库的交互活动。通过建立的连接,可以向数据库发送,SQL,语句并返回执行的结果。,下面说明如何打开一个与位于,URL jdbc:odbc:testDB,的数据库的连接。所用的用户标识符为,myName,,口令为,Java,:,String url=jdbc:odbc:testDB;,Connection con

10、DriverManager.getConnection(url,myName,Java);,10.3.1 JDBC API,简介,3,、,Statement,接口,当建立连接后,可以向数据库发送,SQL,语句访问数据库和读取访问的结果。,Statement,这个接口可在这个连接中执行和处理,SQL,语句。,成员方法,功能,execute(String,sql),执行给定的,SQL,语句,该语句可能返回多个结果。,executeQuery(String,sql),执行给定的,SQL,语句,该语句返回单个,ResultSet,对象。,executeUpdate(String,sql),执行给定,

11、SQL,语句,其,SQL,语句为,INSERT,、,UPDATE,或,DELETE,语句。,close(),立即释放此,Statement,对象的数据库和,JDBC,资源,而不是等待该对象自动关闭时发生此操作。,10.3.1 JDBC API,简介,4,、,ResultSet,接口,ResultSet,对象表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。,ResultSet,对象具有指向其当前数据行的指针。最初,指针被置于第一条记录之前。可以通过,next(),方法将指针移动到下一记录。,补充:连接数据库的步骤,1,、注册驱动(只做一次),2,、建立连接(,Connection,)

12、3,、创建执行,SQL,的语句(,Statement,),执行语句,4,、处理执行结果(,ResultSet,),5,、释放资源(,Close,),如何添加驱动?,1,、首先建一个工程,2,、右击工程如图属性添加,10.3.2 JDBC,驱动程序及,URL,一般方法,1,、数据库的,JDBC,驱动程序,JDBC,具有连接各种不同数据库的能力,对于不同的数据库,JDBC,对应有不同的驱动程序,。,例如:,(,1,),ODBC,数据源的,JDBC,驱动程序名称为:,sun.jdbc.odbc.JdbcOdbcDriver,通过以下语句加载和注册这个驱动程序,Class.forName(sun.j

13、dbc.odbc.JdbcOdbcDriver);,(,2,),Microsoft SQL Server 2000,的,JDBC,驱动程序名称为:,com.microsoft.jdbc.sqlserver.SQLServerDriver,同样,通过以下语句加载和注册这个驱动程序,Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);,DriverManager.registerDriver(com.microsoft.jdbc.sqlserver.SQLServerDriver);,10.3.2 JDBC,驱动程序及,URL,一

14、般方法,2,、,JDBC URL,的一般方法,例如:设驱动程序类型为“,ODBC,数据源”,数据源名称为“,testbook”,。则,String url=jdbc:odbc:testbook;,建立数据库连接:,Connection con=DriverManager.getConnection(url);,10.4 JDBC,编程实例,10.4.1,数据库编程的一般步骤,1,、加载和注册驱动程序,Class.forName(JDBC,驱动程序名称,);,2,、连接数据库,Connection,连接变量,;,连接变量,=DriverManager.getConnection(,jdbc:od

15、bc:,数据源名称,用户名,密码,);,10.4 JDBC,编程实例,10.4.1,数据库编程的一般步骤,3,、向数据库发送,SQL,语句,处理结果,(,1,)建立,SQL,语句对象,Statement SQL,语句对象名,;,SQL,语句对象名,=,连接变量,.createStatement();,(,2,)处理执行,SQL,语句的执行结果,处理查询记录或添加记录的,SQL,语句为:,ResultSet,结果集对象名,=SQL,语句对象名,.,executeQuery(SQL,语句,);,10.4 JDBC,编程实例,10.4.1,数据库编程的一般步骤,处理修改记录或删除记录的,SQL,语句

16、为:,结果集对象名,=SQL,语句对象名,.executeUpdate(SQL,语句,);,4,、关闭数据库的连接,对数据库操作完毕后,应该将与数据库的连接关闭:,连接变量,.close();,同时还应该将,SQL,语句对象释放。,10.4.2 数据表操作,1,、创建数据表,【,例,10-1】,创建学生表,student,。此表有三个字段:学号,(id),、姓名,(name),及成绩,(score),。,import java.sql.*;/,引入,java.sql,包,public class c1,public static void main(String args),String JD

17、river=sun.jdbc.odbc.JdbcOdbcDriver;/,声明,JDBC,驱动程序对象,String conURL=jdbc:odbc:TestDB;/,定义,JDBC,的,URL,对象,try,Class.forName(JDriver);/,加载,JDBC-ODBC,桥驱动程序,catch(java.lang.ClassNotFoundException e),System.out.println(ForName:+e.getMessage();,try,Connection con=DriverManager.getConnection(conURL);/,连接数据库,U

18、RL,Statement s=con.createStatement();/,建立,Statement,类对象,String query=create table student(,+id char(10),+name char(15),+score integer,+);/,创建一个含有三个字段的学生表,student,s.executeUpdate(query);/,执行,SQL,命令,s.close();/,释放,Statement,所连接的数据库及,JDBC,资源,con.close();/,关闭与数据库的连线,catch(SQLException e)System.out.print

19、ln(SQLException:+e.getMessage();,其中,,create table student(id char(10),name char(15),score integer);,这个,SQL,语句表示建立一个名为,student,的表,包含,id(,字符型,宽度为,10),、,name(,字符型,宽度为,15),与,score(,数字型,),三个字段。,这段程序的操作结果是创建了一个数据库中,student,表的结构,表中还没有任何记录。,2,、向数据表中插入数据,【,例,10-2】,在上例创建的数据表,student,中插入三个学生的记录。,import java.sq

20、l.*;,public class c2,public static void main(String args),String JDriver=sun.jdbc.odbc.JdbcOdbcDriver;,String conURL=jdbc:odbc:TestDB;,try,Class.forName(JDriver);,catch(java.lang.ClassNotFoundException e),System.out.println(ForName:+e.getMessage();,try,Connection con=DriverManager.getConnection(conU

21、RL);,Statement s=con.createStatement();,String r1=insert into student values(+0001,王明,80);,String r2=insert into student values(+0002,高强,94);,String r3=insert into student values(+0003,李莉,82);,/,使用,SQL,命令,insert,插入三条学生记录到表中,s.executeUpdate(r1);,s.executeUpdate(r2);,s.executeUpdate(r3);,s.close();,co

22、n.close();,catch(SQLException e),System.out.println(SQLException:+e.getMessage();,图 程序,2,的运行结果,3,、更新数据,【,例,10-3】,修改上例数据表中的第二条和第三条记录的学生成绩字段值,并把修改后的数据表的内容输出到屏幕上。,import java.sql.*;,public class c3,public static void main(String args),String JDriver=sun.jdbc.odbc.JdbcOdbcDriver;,String conURL=jdbc:odbc

23、TestDB;,String id=0002,0003;,int score=89,60;,try,Class.forName(JDriver);,catch(java.lang.ClassNotFoundException e),System.out.println(ForName:+e.getMessage();,try,Connection con=DriverManager.getConnection(conURL);,/,修改数据库中数据表的内容,PreparedStatement ps=con.prepareStatement(,UPDATE student set score=

24、where id=?);,int i=0,idlen=id.length;,do ps.setInt(1,scorei);,ps.setString(2,idi);,ps.executeUpdate();/,执行,SQL,修改命令,+i;,while(iid.length);,ps.close();,/,查询数据库并把数据表的内容输出到屏幕上,Statement s=con.createStatement();,ResultSet rs=s.executeQuery(select*from student);,while(rs.next(),System.out.println(rs.get

25、String(id)+,t+rs.getString(name)+,t+rs.getInt(score);,s.close();,con.close();,catch(SQLException e),System.out.println(SQLException:+e.getMessage();,在这个程序中使用了,PreparedStatement,类,它提供了一系列的,set,方法来设定位置。请注意程序中,PreparedStatement(),方法中的参数“?”。程序中的语句:,PreparedStatement ps=con.prepareStatement(UPDATE studen

26、t set score=?where id=?);,ps.setInt(1,scorei);/,将,scorei,的值作为,SQL,语句中第一个问号所代表参数的值,ps.executeUpdate();,其中,UPDATE student set score=?where id=?,这个,SQL,语句中各字段的值并没指定,而是以“?”表示。程序必须在执行,ps.executeUpdate(),语句之前指定各个问号位置的字段值。例如,用,ps.setInt(1,scorei),语句中的参数,1,指出这里的,scorei,的值是,SQL,语句中第一个问号位置的值。当前面两条语句执行完后,才可执行,

27、ps.executeUpdate(),语句,完成对一条记录的修改。,程序中用到的查询数据库并把数据表的内容输出到屏幕的语句是:,ResultSet rs=s.executeQuery(select*from student);,while(rs.next(),System.out.println(rs.getString(id)+,t+rs.getString(name)+,t+rs.getInt(score);,其中,,executeQuery(),返回一个,ResultSet,类的对象,rs,,代表执行,SQL,查询语句后所得到的结果集,之后再在,while,循环中使用对象,rs,的,ne

28、xt(),方法将返回的结果一条一条地取出,直到,next(),为,false,。,运行结果如下:,0001,王明,80,0002,高强,89,0003,李莉,60,4,、删除记录,【,例,10-4】,删除表中第二条记录,然后把数据表的内容输出。,import java.sql.*;,public class c4,public static void main(String args),String JDriver=sun.jdbc.odbc.JdbcOdbcDriver;,String conURL=jdbc:odbc:TestDB;,try,Class.forName(JDriver);,

29、catch(java.lang.ClassNotFoundException e),System.out.println(ForName:+e.getMessage();,try,Connection con=DriverManager.getConnection(conURL);,Statement,s=con.createStatement();,/,删除第二条记录,PreparedStatement,ps=con.prepareStatement(,delete from student where id=?);,ps.setString(1,0002);,ps.executeUpdat

30、e();,/,执行删除,/,查询数据库并把数据表的内容输出到屏幕上,ResultSet rs=s.executeQuery(select*from student);,while(rs.next(),System.out.println(rs.getString(id)+t+,rs.getString(name)+t+rs.getString(score);,s.close();,con.close();,catch(SQLException e),System.out.println(SQLException:+e.getMessage();,PrepareStatement:,在使用,Pr

31、epareStatement,插入数据时,数据表的指针首先指向最后一行,具体内容不知道,等待用户分别设置。,prepareStatement,与,Statement,的区别,1:,创建时的区别:,Statement stm=con.createStatement();PreparedStatement pstm=con.prepareStatement(sql);,执行的时候,:,stm.execute(sql);pstm.execute();2:pstm,一旦绑定了,SQL,此,pstm,就不能执行其他的,Sql,,即只能执行一条,SQL,命令。,stm,可以执行多条,SQL,命令。,3:,

32、对于执行同构的,sql,(只有值不同,其他结构都相同),用,pstm,的执行效率比较的高,对于异构的,SQL,语句,,Statement,的执行效率要高。,4,:当需要外部变量的时候,,pstm,的执行效率更高,.,5,:,prepareStatement,避免了,mysql,的注入漏洞。实际开发过程中主要使用的。,10.4.3,数据库应用,【,例,10-5】,在前面例子使用过的数据库,TestDB.mdb,中建立数据表,dic,,此表中有二个字段:单词、解释。在表中输入若干条记录。,【,例,10-6】,设计一个简易商品管理系统,具有对商品名称及价格的添加、修改、查询功能。,【,例,10-7】

33、利用套接字技术实现网络数据库的查询。,由于出于安全的考虑,,Applet,应用程序是不能对本地机文件进行读写操作的,在本例中,我们利用套接字技术实现,Applet,应用程序对数据库的访问。,Applet,应用程序只是利用套接字连接向服务器发送一个查询条件,而服务器负责对数据库的查询,然后服务器再将查询的结果利用建立的套接字连接返回给客户端。用主种方式访问数据库,在客户端不需要任何数据库驱动程序。,运行时,先启动服务器端,然后在客户端通过浏览器执行,Applet,程序,客户端程序运行结果如图所示。,【,例,10-8】,应用,JDBC,连接,SQL SERVER,数据库。,以连接,URL,的形式传递数据库连接信息,其一般形式为:,jdbc:microsoft:sqlserver:/servername:1433,设我们在数据库中建立了,testDB,数据库,则连接代码如下:,con=DriverManager.getConnection(,“jdbc:microsoft:sqlserver:/localhost:1433;,DatabaseName=testDB,userName,password);,【,例,10-9】,动态选择加载驱动程序的类型。,本章结束,!,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服