- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JSF页面通过受管Bean访问数据库
总结 直接通过受管Bean访问数据库的要点如下: 从WEB容器注入实体管理器对象 @PersistenceContext(unitName = jpaTestPU) private EntityManager em; 2. 注入用户事务管理器: @Resource private javax.transaction.UserTransaction utx; 3. 用实体管理器实现实体与数据库的转换 entityObjct = new Student(); 创建新实体对象 em.persist(entityObject);保存实体对象到数据库 query=em.createQuery()创建查询对象 ListStudent Items=query.getResultList();得取查询结果 4. 通过Session对象实现同一会话中不同页面/受管Bean之间的数据共享和交换。 问题? 直接在受管Bean中访问数据库有哪些优缺点? 特点: 所有业务都在WEB容器中进行 客户的Http请求和响应,业务逻辑的处理,与数据库连接的建立和拆除,事务处理。 优点:很少的Java类,结构简单。 缺点: 当并发用户很多时,会出现什么情况? 需要建立大量与数据库的连接 需要大量的内存为每个用户服务 WEB容器承担巨大运行负载 不同用户之间有大量重复空闲的内存占用,如受管Bean中操作数据库的方法。 解决办法: 应用EJB体系架构 使用独立的应用服务器(EJB容器) 请学习下一讲:JSF+EJB+JPA访问数据库。 JSF页面通过受管Bean访问数据库 本讲原代码:06jpaTest.zip 提纲 创建数据库表和实体类 通过JSF向表中添加数据 通过JSF显示数据列表 实现记录间的导航 删除记录 按条件查询 将查询结果与其它页面共享 在受管Bean中用JPA访问数据库的系统结构示意图: 受管Bean (XXXController) 。。。 数据* 实体管理器 DB 表/记录 实体(集) 客户1会话 受管Bean WEB容器 持久性上下文 实体(集) JSF页面 JSF页面 http http 受管Bean (XXXController) 数据* 客户n会话 受管Bean 持久性上下文 实体(集) JSF页面 JSF页面 数据项* 数据项* 1.创建数据库表和实体类 在示例数据库中创建一个简单的表Student, 仅包含id,name两个字段 将id设定为key 创建一个使用JavaServerFaces(JSF2)框架的WEB应用项目 设项目名为jpaTest 根据Student表创建实体类Student.class 应用netbeans的向导,基于数据库生成实体类 同时创建持久性单元 1.1 实体类 @Entity @Table(name = STUDENT) public class Student implements Serializable { private static final long serialVersionUID = 1L; @Id @Basic(optional = false) @Column(name = ID) private String id; @Column(name = NAME) private String name; … } 2.通过JSF页面向表中添加数据 基本的JSF由两个部分构成:Facelets页面文件和用Java实现的受管Bean 创建受管Bean, 定义一个Student类型的实例成员current,设置其setters/getters 添加用JPA访问数据库的代码 实现添加实体的功能 创建添加实体的JSF页面 2.1 支持访问数据库的受管Bean @ManagedBean @SessionScoped public class StudentMB { //从WEB容器注入实体管理器对象,引用持久性单元jpaTestPU @PersistenceContext(unitName = jpaTestPU) private EntityManager em; //引用用户管理的事务管理器 @Resource private javax.transaction.UserTransaction utx; Student current; protected void persist(Object object) { try { utx.begin(); em.persist(ob
您可能关注的文档
- IMS-SMT中文.pptx
- 数据库中标识纤维增强聚合物基复合材料的标准指南(E 1309).pdf
- 数据分析与R语言05.pdf
- 数学建模汽车太阳能电池板的最优配置.pdf
- independent learning 第二课时 最终版.ppt
- 数据库面试题(SQL+ORACLE)-DBA数据库管理员.pdf
- 数学物理方法-复变函数与解析函数.pdf
- 数据中心-企业级机房整体方案规划.pdf
- 数据挖掘在电信计费系统中的应用.pdf
- 数字鹤壁公众服务系统用户手册.pdf
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- 基于Android开发的购物商城App的设计与实现-毕业设计.pdf VIP
- 测绘中级工程师职称答辩题库.pdf
- 办公大楼供电设备管理维护方案.docx VIP
- 学习小组组织与管理小组组织与管理实施计划.docx
- 2024年中考物理二轮题型(全国通用)压轴题:含压强、浮力、杠杆、滑轮的机械效率的综合计算(解析版).pdf VIP
- 高校学生工作案例分析的方法与技巧.pdf VIP
- 基于Android的网上商店商城购物系统app的设计与实现毕业论文.docx
- 地理学概论地理科学研究的基本方法.ppt
- 八年级上册英语完形填空、阅读理解专题100题(含参考答案).pdf VIP
- 2023年肺癌脑转移中国治疗指南.docx
文档评论(0)