全国计算机二ava学习资料大全

上传人:xy****7 文档编号:43861917 上传时间:2018-06-07 格式:DOC 页数:76 大小:261.50KB
返回 下载 相关 举报
全国计算机二ava学习资料大全_第1页
第1页 / 共76页
全国计算机二ava学习资料大全_第2页
第2页 / 共76页
全国计算机二ava学习资料大全_第3页
第3页 / 共76页
全国计算机二ava学习资料大全_第4页
第4页 / 共76页
全国计算机二ava学习资料大全_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《全国计算机二ava学习资料大全》由会员分享,可在线阅读,更多相关《全国计算机二ava学习资料大全(76页珍藏版)》请在金锄头文库上搜索。

1、 上学吧:http:/上学吧为您提供二级 Java 考试资料下载:http:/ 的的 SessionBean 注释方法注释方法有时需要在 Session Bean 中初始化和释放一些资源。这些工作应该在 SessionBean 的 PostConstruct 和PreDestroy 方法中进行。其中用 PostConstruct 注释的方法在 SessionBean 的构造方法调用之后以后 EJB 容器在处理完一些其他工作后调用。用 PreDestroy 注释的方法在 SessionBean 的对象实例被 EJB 容器销毁之前调用。除此之外,当有状态的 SessionBean 存在一定时间未被

2、调用时,EJB 容器会将该 SessionBean 对象钝化(Passivate),也就是保存在硬盘中。当再次访问时,EJB 容器会激 法该 SessionBean。在这两种情况下,EJB 容器会分别调用 SessionBean 的 PrePassivate 和 PostActivate 方法。可以在PrePassivate 方法中将 sessionbean 中的资源保存或释放,如 打开的数据库连接等。在PostActivate 方法中可以恢复相应的资源。如下面的代码所示:package service; import java.util.ArrayList; import java.util

3、.List; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.annotation.Resource; import javax.ejb.PostActivate; import javax.ejb.PrePassivate; import javax.ejb.SessionContext; import javax.ejb.Stateful; Stateless public class ShoppingCartBean implements ShoppingCar

4、t private List shoppingCart = new ArrayList(); Resource private SessionContext sessionContext; public ShoppingCartBean() System.out.println(“constructor:“ + sessionContext); PrePassivate public void MyPassivate() System.out.println(“passivate“); PostConstruct 上学吧:http:/上学吧为您提供二级 Java 考试资料下载:http:/ v

5、oid init() System.out.println(sessionContext.getInvokedBusinessInterface(); PreDestroy public void destory() System.out.println(“destory“); PostActivate public void start() System.out.println(“start“); Override public void addCommodity(String value) shoppingCart.add(value); Override public List getC

6、ommodity() return shoppingCart; hibernate 关系映射关系映射对象对象- -关系关系 映射基础映射基础1.对象间的基本关系关联关系:关联关系在设计模式中是被提倡优先使用于继承关系的。关联关系就是将 一个对象做为别一个对象的成员,是一种包含的关系。依赖关系:对与对象之间的方法的调用,不存在包含的关系。聚集关系:这个关系比较有趣,比如人的手和身体。如果身体不存在了,手也就不存 在了。是一种整个与部分的关系。一般关系:就是继承关系。上边的这四种关系是对前一天的补充。对象-关系的映射基础没有涉及这些,而是单一 对象通过 hibernate 与数据库的映射关系。2.

7、持久化类的属性及访问方法上学吧:http:/上学吧为您提供二级 Java 考试资料下载:http:/ 库操作的这些部分。持久化层中的持久化类,便是我们之前早已学习的 domain 类。1).持久化类的访问者有两个,一是 JAVA 应用程序,二是 hibernate。写:Java 应用程序通过 setter 设置持久化对象的属性,hibernate 通过 getter 获取持久 化对象的属性并生成相应的 SQL 语句对表格进行操作。读:hibernate 通过 setter 设置持久化对象的属性,Java 应用程序通过 getter 获取持久 化对象的属性。2).基本数据类型和包装类型通过前天的

8、日志,我们知道关联对象的属性与表格的字段是通过 property 元素节点设 置的:基本的 type 是 hibernate 的类型,我们在持久化类中定义的 gender 属性为 int。定义为 int 类型会有什么弊端?比如,我们有个学生成绩表。如果某个学生没有参加某一学科的考 试,但我们却使用了 int 类型,它的默认值为 0,当查看学生成绩时,他到底是考了 0 分还 是没有考试?所以最好将持久化类中的 gender 属性定义为 Integer,它的默认值为 null。查 询成绩时看到的是 null,那么他肯定是没参加考试哦!(注意:数据库中的对应字段应该 为字符型)3).hibernat

9、e 访问持久化类属性的策略Hibernate 通过 name 指定的值访问持久化对象。Hibernate 通过 name 值,反射持久化 对象的对方法。比如,name 的值为 gender。Hibernate 会直接反射持久化对象的 getGender 和 setGender 方法。所以我们必须保证持久化对象中有对应的方法。这是因为 property 有一个 access 属性,它的默认值为 property。 如果指定 access 的值为 field,则 hibernate 直接根据 name 值反射持久化对象的属性。 此时,我们必须保证持久化对象中有对应的属性。4).在持久化类的方法中加

10、入程序逻辑通过 3)我们知道,如果 access 的值为 property,hibernate 直接反射持久化对象的方法。 在这个方法中我们就可以加入程序逻辑。老徐举了一个生动的例子,比如 Customer 类中有 firstname 和 lastname 两个属性。但我们只想让 hibernate 通过 getName 方法获得一个 firstname+lastname 的字符串,此时我们就可以在 getName 方法中将 firstname 与 lastname 两个属性值合并为一个中间使用 “.”连接的字符串返回。 使用 hibernate 获取数据表中的数据时,hibernate 会调

11、用持久化对象的 setName 方法。 我们在这个方法中将传递进来的参数使用“.”分隔,然后分别设置到 firestname 和 lastname 属性中。5).hibernate 的 hql 语句我们在使用 JDBC、DBUtil 时使用的都是 SQL 语句。但 hibernate 比较特殊,它使用的 是自己的一套东西叫 hql 语句。比如我们调用 session.find 方法,传递的 hql 语句为:“from customer as c where c.name=itcast“其中的 customer 指向持久化对象的映射文件,name 指向持久化对象的映射文件中的 property

12、元素的 name 属性。此时需要注意 access 属性的值。上学吧:http:/上学吧为您提供二级 Java 考试资料下载:http:/ 元素中,有一个 formula 属性。它的值是一个 sql 表达式,hibernate 将根据此 表达式计算的值设置到持久化对象的属性上。比如,我们要统计订单表中的总计:Hibernate 一对多单向关系一对多单向关系1. 数据库 schemaTeachers 表:create table TEACHERS(ID NUMBER(10) not null,TEACHERNAME VARCHAR2(15)alter table TEACHERSadd cons

13、traint DERE primary key (ID)Students 表:create table STUDENTS(ID NUMBER(10) not null,STUDENTNAME VARCHAR2(15),TEACHER_ID NUMBER(10)alter table STUDENTSadd constraint RERE primary key (ID)alter table STUDENTSadd constraint FFF foreign key (TEACHER_ID)references TEACHERS (ID);2. Teacher.java 和 Student.

14、javaTeacher.javapackage mypack;public class Teacher /教师 idprivate Long id;/教师名称private String teacherName;/* 缺省构造函数*/public Teacher() /*上学吧:http:/上学吧为您提供二级 Java 考试资料下载:http:/ 得到教师 id* return Long 教师 id*/public Long getId() return id;/* 设置教师 id* param id Long 教师 id*/public void setId(Long id) this.id = id;/* 得到教师名称* return String 教师名称*/public String getTeacherName() return teacherName;/* 设置教师名称* param teacherName String 教师名称*/public void setTeacherName(String teacherName) this.teacherName = teacherName;/* 构造函数* param teacherName String*/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号