



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EJB3.0总结一、 EJB容器(常用)i. JBoss ii. Weblogic 二、 JBOSS安装a. 从官网下载服务器软件b. 配置JDK环境变量c. 配置JBOSS的安装目录三、 Session Bean(用户处理业务逻辑)1.分类:有状态(Stateful)、无状态(Stateless)2.接口分类:远程接口(Remote)、本地接口(Local)3.创建Session Beana.创建接口(本地、远程)b.创建Session Bean的类,此类需要实现接口4.举例:1.创建接口package com.ejb.session;import javax.ejb.Remote;import com.ejb.entity.Person;Remotepublic interface PersonDAORemote void save(Person person);2.创建Session Bean类package com.ejb.session;import javax.ejb.Stateless;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;import com.ejb.entity.Person;Statelesspublic class PersonDAO implements PersonDAORemote PersistenceContextprivate EntityManager em;public void save(Person person) em.persist(person);3.使用:/通过perties配置文件,初始化上下文InitialContext itc=new InitialContext();/在上下文中查询bean对象PersonDAORemote personDao=(PersonDAORemote)itc.lookup(PersonDAO/remote);Person person=new Person();person.setName(racky);personDao.save(person);有状态和无状态会话Bean的区别:有状态会话Bean:一个有状态会话Bean实例在某一时刻只能被一个用户独占。例如,开发购物车。(使用激活机制)无状态会话Bean:可以被多个用户共享(使用的实例池机制)例:省略。四、 实体Bean(作为持久化的对象,用于关联程序中对象和数据库表之间的关系)1. 创建实体Bean类package com.ejb.entity;import java.io.Serializable;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.OneToOne;/除去未添加序列化ID的警告SuppressWarnings(serial)/用于标识此类是一个实体BeanEntitypublic class Person implements Serializable IdGeneratedValue(strategy = GenerationType.AUTO)private Integer id;private String name;OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = person, optional = true)private IdCard idCard;2.Column注解:给类的属性创建数据库表中对映的列名,并且添加相关约束规则。3.ID注解:创建实体Bean的主键4.GeneratedValue(strategy = GenerationType.AUTO)注解:用于指定主键生成策略GenerationType.AUTO: 根据底层数据库的能力自动选择主键生成方式属性值 描述 TABLE 容器指定用底层的数据表确保唯一 SEQUENCE 使用数据库的SEQUENCE 列来保证唯一 IDENTITY 使用数据库的INDENTIT列来保证唯一 AUTO 由容器挑选一个合适的方式来保证唯一 NONE 容器不负责主键的生成,由调用程序来完成 5.映射关系(要么都写在getXxx方法上,要么都写在类的属性上)a.一对一映射(OnetoOne)举例:1.OneToOne(optional = true, cascade = CascadeType.ALL, mappedBy = person)optional的值如果取为false,则所关联的对象属性不可以为null,如果取值为true,则所关联的对象属性可以为nullcascade用指定级联方式mappedBy用于指被维护端的实体属性2.JoinColumn(name = Person_ID, referencedColumnName = personid, unique = true)用于指定关联的列名Name:用于指定列名 referencedColumnName:用于指定引用另外一个对象的属性(列)名称unique:用于添加唯一约束关系b.一对多映射(OnetoMany)要在一的端添加一个集合举例:一的一端:OneToMany(mappedBy = group, cascade = CascadeType.ALL, fetch = FetchType.LAZY)fetch:设置检索策略(FetchType.LAZY(延迟检索), FetchType.EAGER(立即检索))OrderBy(value = id ASC)用于指定排序方式多的一端:ManyToOne(optional = false, cascade = CascadeType.ALL)JoinColumn(name = groupid)b.多对多映射(ManytoMany)一端:ManyToMany(mappedBy = students, cascade = CascadeType.ALL)另外一端:ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)JoinTable(name = Course_Student, joinColumns = JoinColumn(name = courseid, referencedColumnName = id) , inverseJoinColumns = JoinColumn(name = studentid, reference
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国负极凝胶剂行业市场分析及投资价值评估前景预测报告
- 歌曲 南海渔歌说课稿初中音乐粤教版八年级上册-粤教版
- 高二新疆联考试卷及答案
- 第五课 正确面对内疚教学设计小学心理健康人教版五年级下册-人教版
- 五年级英语下册 Unit 1 My day Part A第二课时说课稿1 人教PEP
- 2025年人工智能技术应用人才招聘笔试模拟题及答案解析
- Lesson 6 A Special Team说课稿初中英语北师大版2013八年级上册-北师大版2013
- 2025年冷链物流中心招聘面试题详解供销社面试心得与答案
- 2025年医学检验中级职称考试要点解析
- 2025年县域旅游业发展规划与执行经理招聘笔试模拟题集
- 颈肩腰腿痛门诊诊疗课件
- 做有梦想的少年+课件-2025-2026学年统编版道德与法治七年级上册
- 财务内账表格大全-出纳实 用模板
- 糖尿病护理操作规范手册(2023修订)
- 产后腹直肌分离的诊断与治疗
- 人民陪审员刑事培训课件
- 2025年陕西音乐联考试题及答案
- 2025年高一的数学知识点大纲
- 2025年平面图形的画法说课教学课件
- 养老院保洁培训课件
- 《生成式人工智能》 课件 第4章 Transformer模型
评论
0/150
提交评论