- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章Java持久API课堂整理ppt
Java EE应用技术基础 济南大学信息学院 刘鹍 liukun@ 回顾:EJB JAR、WAR和EAR EJB: 3?2+1 会话Bean SLSB SFSB 会话Bean部署 回顾:EJB JNDI编程: JNDI类 编程过程 回顾:EJB 着重说一下Jboss EJB JNDI名称默认的命名规则: 回顾:消息驱动Bean 消息驱动Bean 回顾:消息驱动Bean 回顾:消息驱动Bean 第9章 JAVA 持久API 学习要点: 实体Bean 实体类 实体的生命周期 事务处理 直接操纵实体数据 并发访问和锁 查找实体和Query API 命名查询 EJB-QL语言 第9章 JAVA 持久API 9.1 Java持久化 API 概述 9.2 数据库同步 9.1 Java持久化 API 概述 9.1.1 实体Bean 9.1.2 实体类 9.1.3 实体的生命周期 9.1.4 事务处理 9.1.1 实体Bean 实体Bean有着一组属性并且每个属性与数据库表中的每个字段一一对应。 公开get和set方法供外界访问。 每一个属性对应数据库表中的一个字段,这样一个Bean实例就对应了表中的一条记录。 并不是固定的一个实例对应一条记录 。 9.1.1 实体Bean 保持实体Bean 可以手工完成持久化操作 可以让EJB容器完成持久化操作 实体bean和对话bean的比较 实体bean不允许保存每个客户端的信息。会话bean允许保存客户端的状态信息。 实体bean允许保存记录的,会话bean既可以保存客户端的信息又可以保存数据库记录的信息。 会话bean也不能提供在相同或不同的EJB类调用间进行全局的事务控制。 实体Bean的分类 1)CMP类型的实体Bean 2)BMP类型的实体Bean 9.1.2 实体类 实体类用于表示数据库中的表,实体类的编写主要确定如下信息: 该实体与数据库中的哪个表对应; 实体类中的属性与表中的哪个字段对应; 实体类中的哪个属性是主键。 9.1.2 实体类 编写实体类的主要知识点 声明该类为实体类:@Entity 声明该实体类与哪个表对应:@Table(name = userinfo) 声明该实体类与表中的哪个列对应,如: 声明主键,如: 9.1.3 实体的生命周期 第9章 JAVA 持久API 9.1 Java持久化 API 概述 9.2 数据库同步 9.2 数据库同步 9.2.1 直接操纵实体数据 9.2.3 查找实体和Query API 9.2.4 命名查询 9.2.5 EJB-QL语言 9.2.1 直接操纵实体数据 9.2.3 查找实体和Query API find()操作的方法签名。 EntityManager API的使用步骤: 从EntityManager获得javax.persistence.Query实例。 自定义Query实例。比如,设置查询参数、控制结果集的大小。 执行查询。 使用EJB-QL和SQL创建查询的EntityManager操作: 9.2.3 查找实体和Query API 从数据库中返回所有Account实体的简单EJB-QL查询实例。 重载createNativeQuery()方法。将SQL结果集数据映射到实体,从而返回给客户。 9.2.4 命名查询 可能需要在整个持久化单元中使用单个查询语句,或者需要为部署者或管理员提供变更查询语句的便利,这时我们可以使用静态查询(Static Query),静态查询也被称之为命名查询(Named Query)。 9.2.4 命名查询 从外部的命名查询字符串创建Query对象,需要使用EntityManager提供的如下操作。 在调用createNamedQuery之前,开发者必须定义好相应的命名查询。比如,在如下给出的listAccounts()方法中使用了这一操作。 9.2.5 EJB-QL语言 EJB-QL 用来在CMP类型的EJB中描述 finders和select 方法。设计这种语言的目的是严格地描绘内存对象的查询,而不是数据库的查询。 但是EJB-QL的语法与 SQL非常相似。它有三个基本语句: SELECT、FROM、WHERE。 通过这几个语句可以实现各种各样的组合。 9.2.5 EJB-QL语言 常用语法: 当处理一个select方法时,返回类型 ( SELECT语句) 可以不用是 OBJECT(x)。 可以为任意类型的任意值。示例如下: 回顾:Hibernate 开发步骤: 导入JAR包+hibernate.cfg.xml POJO类 映射文件:*.hbm.xml,需要在hibernate.
文档评论(0)