资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
第11页 / 共15页
第12页 / 共15页
第13页 / 共15页
第14页 / 共15页
第15页 / 共15页
亲,该文档总共15页全部预览完了,如果喜欢就下载吧!
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第24讲 数据库操作,数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。对数据库中数据的增、删、改、查由统一的软件进行管理和控制。,常用的数据库软件有,Oracle,、,SQL Server,、,MySQL,、,DB2,、,ACCESS,、,Sybase,等。本讲就以,MySQL,为例讲解使用,Java,语言操作,MySQL,数据库。,第24讲 数据库操作,24.1 JDBC,24.2 结果集及常见方法,24.3操作数据库步骤,24.4,课后练习,24.1 JDBC,在Java语言中,JDBCJava DataBase Connection是应用程序与数据库沟通的桥梁,即Java语言通过JDBC技术访问数据库。,JDBC是一种“开放的方案,它为数据库应用开发人员数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。,JDBC是Java应用与数据库管理系统进行交互的标准API,包括两个包:核心APIjava.sql和扩展的APIjavax.sql。,24.2 结果集及常见方法,1结果集有三种类型,它的类型决定了能否对结果集中的游标进行操作,以及并发的数据源的改变能否反映到结果集中。具体描述如下:,类型,描述,TYPE_FORWARD_ONLY,默认的结果集类型,这种类型的结果集对象的游标只能向前移动,从第,1,行的前面到最后一行的后面。,TYPE_SCROLL_INSENSITIVE,这种类型的结果集对象的游标可以向前移动,也可以直接定位到某一行上,但是对结果集中对应数据的变化是不敏感的。,TYPE_SCROLL_SENSITIVE,这种类型的结果集对象的游标可以向前移动,也可以直接定位到某一行上,并且对结果集中对应数据的变化是敏感的,(,如果,),。,2结果集的并发性决定了结果集所支持的更新操作的层次,有两种并发性层次:,类型,描述,CONCUR_READ_ONLY,默认的结果集并发类型,这种情况下的结果集对象不支持更新操作。,CONCUR_UPDATABLE,这种情况下的结果集对象支持更新操作。,可以通过调用DatabaseMetaData的supportsResultSetConcurrency方法来看驱动是否支持结果集上的更新操作,该方法定义如下:,boolean supportsResultSetConcurrency(int type,int concurrency)throws SQLException。第一个参数表示结果集类型,第二个参数表示并发类型。,3结果集的延续性是指当事务提交时,在当前事务中创立的结果集是否关闭。默认情况下会关闭这个结果集对象。延续性可以通过如下两个静态属性来指定:,类型,描述,HOLD_CURSORS_OVER_COMMIT,当提交事务时不关闭该结果集对象。,CLOSE_CURSORS_AT_COMMIT,提交事务时关闭结果集对象,有时候会提高性能。,4结果集的类型、并发性和延续性可以通过Connection.createStatement、Connection.prepareStatement和Connection.prepareCall等方法指定,同时Statement、PreparedStatement和CallableStatement接口也提供了相应的setter方法和getter方法。如下代码是创立语句对象的时候指定结果集的类型、并发性和延续性。,Connection conn=ds.getConnection(user,passwd);,Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY,ResultSet.CLOSE_CURSORS_AT_COMMIT);,返回值,方法名,功能描述,boolean,next(),将游标从当前位置向前移一行,如果指向某行,返回,true,,如果指向最后一行的后面,返回,false,boolean,previous(),将游标从当前位置向后移一行,如果指向某行,返回,true,,如果指向第一行的前面,返回,false,boolean,first(),将游标移到此结果集的第一行。,返回值,功能名,功能描述,boolean,last(),将游标移到些结果集的最后一行。,void,beforeFirst(),将游标移动到此结果集的开始处,正好位于第一行之前,void,afterLast(),将游标移动到此结果集的末尾,正好位于最后一行之后,boolean,relative(int rows),按相对行数移动游标。如果参数为,0,,游标无变化。如果参数是正的,游标向前移动,rows,行,如果,rows,太大,游标指向最后,1,条记录的后面。如果参数是负数,游标向后移动,rows,行,如果,rows,太小,游标指向第,1,条记录的前面。如果游标指向一个有效行,方法返回,true,,否则返回,false,boolean,absolute(int row),将游标移动到参数所指定的行,24.3操作数据库步骤,一般来说,Java应用程序访问数据库的步骤为:,1装载数据库驱动程序,装载数据库驱动程序是把各个数据库提供的访问数据库的API加载到程序中,并将其注册到DriverManager中,每一种数据库提供的数据库驱动不一样,下面我们以Mysql为例,来看一下JDBC驱动加载注册的代码:,Class.forName(com.mysql.jdbc.Driver).newInstance();,2通过JDBC建立数据库连接,建立数据库之间的连接是访问数据库的必要条件,于不同数据库也是不一样的,下面,我们看一下,Mysql,数据库建立数据库连接,取得,Connection,对象的方式:,String url=jdbc:mysql:/localhost:3306/testDB?user=root,Connection conn=DriverManager.getConnection(url);,3访问数据库,执行SQL语句,数据库连接建立好之后,接下来就是一些准备工作和执行sql语句了,准备工作要做的就是建立Statement对象PreparedStatement对象,例如:,/建立Statement对象,Statement stmt=conn.createStatement();,/建立PreparedStatement对象,String sql=select*from user where userName=?and password=?;,PreparedStatement pstmt=Conn.prepareStatement(sql);,pstmt.setString(1,admin);,pstmt.setString(2,liubin);,做好准备工作之后就可以执行sql语句了,执行sql语句:,String sql=select*from users;,ResultSet rs=stmt.executeQuery(sql);,/执行动态SQL查询,ResultSet rs=pstmt.executeQuery();,/执行insert update delete等语句,先定义sql,stmt.executeUpdate(sql);,4处理结果集,访问结果记录集ResultSet对象。例如:,while(rs.next),out.println(你的第一个字段内容为:+rs.getString(Name);,out.println(你的第二个字段内容为:+rs.getString(2);,5断开数据库连接,依次将ResultSet、Statement、PreparedStatement、Connection对象关闭,释放所占用的资源.例如:,rs.close();,stmt.clost();,pstmt.close();,con.close();,讲后练习,1,、编写一个学生管理系统,数据库选用,MySQL,,建立相应表后,填充相应数据,使用,Swing,中的组件进行界面开发,并连接数据库,能够实现学生数据的增、删、改、查操作。,
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6