- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA持久化 之JDBC 数据持久化 狭义的理解,“持久化”仅仅是指把对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作: 保存:把对象永久保存到数据库中 更新:更新数据库中对象的状态 删除:从数据库中删除一个对象 加载:根据特定的查询条件,把符合查询条件的一个或多个对象从数据库加载到内存中 查询:根据特定的查询条件,把符合查询条件的一个或多个对象从数据库加载到内存中 数据持久化概念 数据持久化的相关技术 java序列化:Java对象转换为字节序列的过程称为对象的序列化。 JDBC:提供关系数据库的通信 EJB :企业级JavaBean.一种分布式组件技术,提供了一些标准的服务,如持久性、事务、安全性等。 JPA:JPA(Java Persistence API)是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对象的持久化抽象的过程。 Java持久化小例子 运行截图 使用JDBC API的问题 编程人员必须既懂得Java语言,又懂SQL语言,才能编写数据库访问代码。 程序代码中嵌入大量字符串形式的SQL语句降低了程序代码的可读性。 当编程人员试图向数据库中存入一个Monkey对象时,他需要了解与Monkey对象对应的表为MONKEYS表,与Monkey对象的name属性对应的字段为NAME字段,依次类推 Hibernate与JDBC的关系 Hibernate本身完全用java语言编写,并且它对JDBC API进行了封装,能提供更加面向对象的数据库访问API。 public class Monkey{ private Long id; private String name; private int age; private char gender; } BusinessService类 Class.forName(com.mysql.jdbc.Driver); DriverManager.registerDriver(new com.mysql.jdbc.Driver()); Connection con=null; con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd); //创建一个SQL声明 Statement stmt = con.createStatement(); //向MONKEYS表插入记录 stmt.executeUpdate(insert into MONKEYS(NAME,AGE,GENDER) values( ++monkey.getName()+, +monkey.getAge()+, ++monkey.getGender()+)); stmt.close(); Java小例子结构图 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。 在J2EE里
文档评论(0)