Java实用教程第24讲数据库操作ppt课件_第1页
Java实用教程第24讲数据库操作ppt课件_第2页
Java实用教程第24讲数据库操作ppt课件_第3页
Java实用教程第24讲数据库操作ppt课件_第4页
Java实用教程第24讲数据库操作ppt课件_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第2424讲讲 数据库操作数据库操作 数据库指的是以一定方式储存在一同、能为多个用户共享、具有尽能够小的冗余度、与运用程序彼此独立的数据集合。对数据库中数据的增、删、改、查由一致的软件进展管理和控制。 常用的数据库软件有Oracle、SQL Server、MySQL、DB2、ACCESS、Sybase等。本讲就以MySQL为例讲解运用Java言语操作MySQL数据库。第第2424讲讲 数据库操作数据库操作 24.1 JDBC 24.2 结果集及常见方法结果集及常见方法 24.3操作数据库步骤操作数据库步骤 24.4课后练习课后练习24.1 JDBC24.1 JDBC 在Java言语中,JDB

2、CJava DataBase Connection是运用程序与数据库沟通的桥梁,即Java言语经过JDBC技术访问数据库。 JDBC是一种“开放的方案,它为数据库运用开发人员数据库前台工具开发人员提供了一种规范的运用程序设计接口,使开发人员可以用纯Java言语编写完好的数据库运用程序。 JDBC是Java运用与数据库管理系统进展交互的规范API,包括两个包:中心APIjava.sql和扩展的APIjavax.sql。24.2 24.2 结果集及常见方法结果集及常见方法1结果集有三种类型,它的类型决议了能否对结果集中的游标进展操作,以及并发的数据源的改动能否反映到结果集中。详细描画如下:类型类型

3、描画描画TYPE_FORWARD_ONLY默许的结果集类型,这种类型的结果集对象的游标只能向前挪动,从第1行的前面到最后一行的后面。TYPE_SCROLL_INSENSITIVE这种类型的结果集对象的游标可以向前挪动,也可以直接定位到某一行上,但是对结果集中对应数据的变化是不敏感的。TYPE_SCROLL_SENSITIVE这种类型的结果集对象的游标可以向前挪动,也可以直接定位到某一行上,并且对结果集中对应数据的变化是敏感的(假设)。 2结果集的并发性决议了结果集所支持的更新操作的层次,有两种并发性层次:类型类型描画描画CONCUR_READ_ONLY默许的结果集并发类型,这种情况下的结果集对

4、象不支持更新操作。CONCUR_UPDATABLE这种情况下的结果集对象支持更新操作。 可以经过调用DatabaseMetaData的supportsResultSetConcurrency方法来看驱动能否支持结果集上的更新操作,该方法定义如下: boolean supportsResultSetConcurrency(int type,int concurrency) throws SQLException。第一个参数表示结果集类型,第二个参数表示并发类型。3结果集的延续性是指当事务提交时,在当前事务中创建的结果集能否封锁。默许情况下会封锁这个结果集对象。延续性可以经过如下两个静态属性来指定

5、:类型类型描画描画HOLD_CURSORS_OVER_COMMIT当提交事务时不封锁该结果集对象。CLOSE_CURSORS_AT_COMMIT提交事务时封锁结果集对象,有时候会提高性能。4结果集的类型、并发性和延续性可以经过Connection.createStatement、Connection.prepareStatement和Connection.prepareCall等方法指定,同时Statement、PreparedStatement和CallableStatement接口也提供了相应的setter方法和getter方法。如下代码是创建语句对象的时候指定结果集的类型、并发性和延续性

6、。Connection conn = ds.getConnection(user,passwd);Statement stmt = conn.createStatement(ResultSet. TYPE_SCROLL_INSENSITIVE,ResultSet. CONCUR_READ_ONLY, ResultSet. CLOSE_CURSORS_AT_COMMIT);前往值前往值方法名方法名功能描画功能描画booleannext()将游标从当前位置向前移一行,假设指向某行,前往true,假设指向最后一行的后面,前往falsebooleanprevious() 将游标从当前位置向后移一行,假

7、设指向某行,前往true,假设指向第一行的前面,前往falsebooleanfirst()将游标移到此结果集的第一行。前往值前往值功能名功能名功能描画功能描画booleanlast()将游标移到些结果集的最后一行。voidbeforeFirst()将游标挪动到此结果集的开场处,正好位于第一行之前voidafterLast()将游标挪动到此结果集的末尾,正好位于最后一行之后booleanrelative(int rows)按相对行数挪动游标。假设参数为0,游标无变化。假设参数是正的,游标向前挪动rows行,假设rows太大,游标指向最后1条记录的后面。假设参数是负数,游标向后挪动rows行,假设

8、rows太小,游标指向第1条记录的前面。假设游标指向一个有效行,方法前往true,否那么前往falsebooleanabsolute(int row)将游标挪动到参数所指定的行24.3操作数据库步骤操作数据库步骤普通来说,Java运用程序访问数据库的步骤为:1装载数据库驱动程序装载数据库驱动程序是把各个数据库提供的访问数据库的API加载到程序中,并将其注册到DriverManager中,每一种数据库提供的数据库驱动不一样,下面我们以Mysql为例,来看一下JDBC驱动加载注册的代码:Class.forName(com.mysql.jdbc.Driver).newInstance();2经过JD

9、BC建立数据库衔接 建立数据库之间的衔接是访问数据库的必要条件,于不同数据库也是不一样的,下面我们看一下Mysql数据库建立数据库衔接,获得Connection对象的方式: String url=jdbc:mysqllocalhost:3306/testDB?user=root&password=root&useUnicode=true&characterEncoding=gb2312; Connection conn=DriverManager.getConnection(url);3访问数据库,执行SQL语句数据库衔接建立好之后,接下来就是一些预备任务和执行sql语

10、句了,预备任务要做的就是建立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); 做好预备任务

11、之后就可以执行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、PreparedState

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论