§4Hibernate高级内容

上传人:w****i 文档编号:92300013 上传时间:2019-07-08 格式:PPT 页数:11 大小:242.50KB
返回 下载 相关 举报
§4Hibernate高级内容_第1页
第1页 / 共11页
§4Hibernate高级内容_第2页
第2页 / 共11页
§4Hibernate高级内容_第3页
第3页 / 共11页
§4Hibernate高级内容_第4页
第4页 / 共11页
§4Hibernate高级内容_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《§4Hibernate高级内容》由会员分享,可在线阅读,更多相关《§4Hibernate高级内容(11页珍藏版)》请在金锄头文库上搜索。

1、2019/7/8,1,Hibernate高级内容,2019/7/8,2,主键生成策略generator,Generator:主键生成器,每个主键都必须定义相应的主键生成策略。它用来为持久化类实例生成唯一的标识。 Hibernate内置的主键生成策略 assigned:由用户手工给一个值(例如账号由用户决定) increment:不用手工给值,由系统自动递增(注意:这些只是Hibernate的策略)(账号由系统返回) identity:由数据库生成主键 sequence:由数据库根据序列生成主键 hilo:根据Hibernate特殊算法生成主键 native:系统自动选择identity, se

2、quence, hilo uuid.hex: hibernate利用uuid算法生成主键,2019/7/8,3,主键生成策略generator,案例:按照increment来生成主键 1:在数据库内定义一个整型主键 2:定义一个整型属性指向这个主键 3:为主键设置生成策略为increment 4:添加时,无需指定主键 怪问题:数据库表里面可不可以没有主键?可以,2019/7/8,4,复合主键的情况,如果在表中有两个列合起来当主键怎么处理? 1:编写一个类(实现序列化接口),封装主键,并写属性 2:PO内编写各个属性,包括主键类型 3:在映射文件中写明: ,2019/7/8,5,动态模型,是否可

3、以不定义po? 例如:T_COURSE的使用,不想定义PO,怎么实现? 方法:使用动态实体模型 (1)在class标签中设置一个属性:entity-name=“实体名称” 并指明对应的表名 (2)在每个property标签中,给定一个type属性,指定该列对应的类型名称 怎样访问?对象存在方式:HashMap Object get(String entityName, Serializable id) Object load(String entityName, Serializable id) Serializable save(String entityName, Object objec

4、t) void saveOrUpdate(String entityName, Object object) void update(String entityName, Object object),2019/7/8,6,2019/7/8,7,使用JNDI数据源,传统数据库连接使用driverClassName,url,username,password,返回java.sql.Connection 性能有限。有一种方法:如果很多数据库连接请求,将用完的连接暂时不关闭,下一个请求来了之后,直接使用这个连接。如果它忙,才新建一个连接。 这就是连接池技术。将一些连接放在池中,系统要用时,从池中取出

5、,用完放回。请求太多,才新建连接 在很多请求的情况下,对系统性能提高很大。 如何实现?借助服务器。 Tomcat支持连接池,但是性能一般;比较常用的是商用服务器:WebLogic、WebSphere等。 连接池建立之后,对外发布一个数据源名称,叫做JNDI名称。 在WebLogic内怎样建立连接池?,2019/7/8,8,安装WebLogic10,WebLogic是bea的产品,被Oracle收购了 安装。自带了JDK;C:beawlserver_10.0serverlib放置了WebLogic运行支持包,weblogic.jar是WebLogic的JavaEE支持包,最重要 WebLogic

6、管理很特殊,安装好之后,一般我们不直接使用,需要在WebLogic内配置一个用户项目(域,domain)的服务器,需要手工配置 进入控制台,建立连接池,2019/7/8,9,建立连接池,确定哪些内容,1:连接到哪个数据库?名称,用户名,密码,url 2:对外发布的名称(JNDI数据源名称): 连到本机上的XE数据库,对外名称:DSSchool 已经配置好连接池和数据源,怎样编写一个Java代码,通过数据源访问数据库?,2019/7/8,10,基本知识,1:ORMapping原理 2:配置文件、映射文件、po之间的关系 3:基本API的使用:Configuration,SessionFactory,Session,Transaction,以及单条记录的增删改产 4:复杂查询:HQL,准则,本地SQL查询 5:主键生成策略,复合主键,动态实体模型(不用编写PO) 后面将讲解高级内容: 1:大量数据增删改查时,性能问题(Hibernate缓存问题) 2:多表查询如何实现(Hibernate表间关联),2019/7/8,11,Hibernate,Struts+Hibernate,Struts JSP, ActionForm Action,DAO,PO,VO,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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