《Java持久化之JDBC》PPT课件.ppt_第1页
《Java持久化之JDBC》PPT课件.ppt_第2页
《Java持久化之JDBC》PPT课件.ppt_第3页
《Java持久化之JDBC》PPT课件.ppt_第4页
《Java持久化之JDBC》PPT课件.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

JAVA持久化之JDBC,JAVA持久化之JDBC,主要内容Java持久化概念1JDBC原理2JDBC开发步骤3JDBC的例子,数据持久化,狭义的理解,“持久化”仅仅是指把对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作:保存:把对象永久保存到数据库中更新:更新数据库中对象的状态删除:从数据库中删除一个对象加载:根据特定的查询条件,把符合查询条件的一个或多个对象从数据库加载到内存中查询:根据特定的查询条件,把符合查询条件的一个或多个对象从数据库加载到内存中,数据持久化概念,数据持久化的相关技术java序列化:Java对象转换为字节序列的过程称为对象的序列化。JDBC:提供关系数据库的通信EJB:企业级JavaBean.一种分布式组件技术,提供了一些标准的服务,如持久性、事务、安全性等。JPA:JPA(JavaPersistenceAPI)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据。,持久化简介,ORM框架ORM框架能够将Java对象映射到关系数据库,能够直接持久化复杂的Java对象。在操作持久化Java对象的时候ORM框架会自动更新相应的一个或多个数据表。ORM框架的应用为:Hibernate,问题的提出,我们的例子基于一个假设,孙悟空要管理他的花果山,山里有众多猴子,如何编写java程序来存放这些猴子的信息?我们访问数据库的途径可能有以下几种:1.通过数据库自带客户程序与数据库服务器交互2.通过java程序与数据库服务器交互3花果山猴子们的信息作为特定应用领域的业务数据,有俩种表现形式:在内存中表现为Monkey对象在关系数据库中表现为MONKEYS表的记录,JAVA对象持久化概念,问题在于?当java程序在内存中创建了一个Monkey对象后,它不可能永远存在。最后,他要么从内存中清除,要么被持久化到数据库中。内存无法永久地保存数据,因此必须对Monkey对象进行持久化.否则,如果Monkey对象没有被持久化,那么用户在应用程序运行时创建的猴子信息将在应用程序结束运行后随之消失。问题解决:而一旦Monkey对象被持久化,他就可以在应用程序再次运行时被重新加载到内存,并重新构造出Monkey对象。,JAVA对象持久化概念,下图显示了Monkey对象的持久化抽象的过程。,JDBC简介,JDBC是持久化技术的一种。(JavaDatabaseConnectivity)1996年,sun公司提出。是Java程序与数据库系统通信的标准API。它由一组用Java程序语言编写的类和接口组成。作用规避数据库的不同,为程序开发人员访问数据库提供统一的编程接口,即为API;JDBC可以做什么?答:和数据库建立连接,发送sql语句,处理数据库返回的结果集.,Java程序通过JDBC驱动程序与数据库服务器通信,驱动程序负责把标准JDBC调用转换成具体数据库的调用,有了JDBC驱动程序,Java程序就只需和JDBC驱动程序的API交互了,JDBC连接API,JDBCAPI使用的是面向对象的Java语言,它为java程序提供了用于访问数据库的接口和类,主要包括:java.sql.DriverManager处理驱动程序的调入并且对驱动程序进行管理。java.sql.Connection代表对特定数据库的连接。java.sql.Statement代表一个特定的容器,用以对一个特定的数据库执行SQL语句。java.sql.ResultSet控制对一个特定语句的行数据的存取。,JDBC主要对象,1.连接(Connection)2.语句(Statement)3.结果集(ResultSet),JDBC主要对象,1.连接(Connection)连接是客户端Java代码和数据库之间的通信连接,由JDBC驱动程序建立。它保存了所有对数据库服务器调用的上下文信息。连接分为两种:直接连接直接在客户端Java代码中找开并维护,对应于类型1、2、4驱动程序。池连接被J2EE服务器打开和维护。作用:提高性能,多用户共享少量的数据物理连接数。思考:为什么需求池连接?,JDBC主要对象,2.语句用于对数据库发送数据操纵命令,通过语句对象,可以完成获取结果集,对数据库记录进行CRUD。语句分为三类:简单语句(Statement)预编译语句(PreparedStatement)可调用语句(CallableStatement),JDBC编程,创建数据库连接,分为以下几步:1.装载并注册数据库的JDBC驱动程序2.建立连接3.建立Statement对象4.准备并执行调用SQL语句5.处理ResultSet中的记录集6.释放资源,1注册驱动,注册驱动/加载MysqlDriver类Class.forName(“com.mysql.jdbc.Driver”);/注册MySQLDriverjava.sql.DriverManager.registerDriver(newcom.mysql.jdbc.Driver();,2建立连接,建立连接Connectioncon=java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);dbUrl表示连接数据库的JDBCURLUser和password表示连接数据的用户名和口令,3建立连接,常用的URL对MySQL,数据库URL为jdbc:mysql:/localhost:3306/dbName对SQLSERVER2005,数据库URL为jdbc:sqlserver:/localhost:1433;DatabaseName=SAMPLEDB,3准备并执行SQL语句,建立Statement对象Statementstmt=con.createStatement();准备并执行调用SQL语句/stmt.executeUpdate(insertintoMONKEYS(NAME,AGE,GENDER)values(+monkey.getName()+,+monkey.getAge()+,+monkey.getGender()+););,4处理记录集,处理ResultSet中的记录集只有select语句才会有结果集返回;rs是一个游标,初始时放在第一条记录的上面一行。每next一次,向下一行。getString(intcolumnName)以java的String数据类型的形式返回整数索引参数所标识的ResultSet列的值,Stringsql=“select*fromMonkeys”;ResultSetrs=statement.executeQuery(sql);while(rs.next()Stringcol1=rs.getString(1);Stringcol2=rs.getString(fname);floatcol3=rs.getFloat(3);,5释放资源,5.释放资源一般写在finally语句块中。所释放的资源一般有ResultSet,Statement,Connectionrs.close();stmt.close();con.close();注意:关闭时按ResultSet-Statement-Connection顺序依次关闭;,Java持久化小例子,运行截图,使用JDBCAPI的问题编程人员必须既懂得Java语言,又懂SQL语言,才能编写数据库访问代码。程序代码中嵌入大量字符串形式的SQL语句降低了程序代码的可读性。当编程人员试图向数据库中存入一个Monkey对象时,他需要了解与Monkey对象对应的表为MONKEYS表,与Monkey对象的name属性对应的字段为NAME字段,依次类推,Hibernate与JDBC的关系,Hibernate本身完全用java语言编写,并且它对JDBCAPI进行了封装,能提供更加面向对象的数据库访问API。,publicclassMonkeyprivateLongid;privateStringname;privateintage;privatechargender;,BusinessService类,Class.forName(com.mysql.jdbc.Driver);DriverManager.registerDriver(newcom.mysql.jdbc.Driver();Connectioncon=null;con=java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);/创建一个SQL声明Statementstmt=c

温馨提示

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

评论

0/150

提交评论