
框架-持久化专栏
文章平均质量分 80
iteye_9300
这个作者很懒,什么都没留下…
展开
-
ibatis入门实例讲解
之前大家上网的ibatis官方网站:http://www.ibatis.com现在已经不再存在了,已经被MyBatis所替代http://www.mybatis.org/,我现在使用了还是之前的ibatis2.3.4,所以这个例子也是针对2.3.4版本讲解的首先呢,打开资源包,可以看到里面有一个simple_exzample的文件夹,在MyEclipse8.5中新建一个JAVA项目,将刚才的...2010-10-25 10:39:38 · 177 阅读 · 0 评论 -
Hibernate温习(12)--基于注解方式的各种映射全面总结
1. 使用Hibernate Annotation来做对象关系映射 1) 添加必须包: hibernate-jpa-2.0-api-1.0.0.Final.jar 2) 在实体类中添加JPA的标准注解来进行对象关系映射.注解可以添加在属性上,也可以添加在getXxx()方法之上。 a) @Entity 映射一个实体类 @Table 指定关联的表...2010-11-11 10:43:05 · 152 阅读 · 0 评论 -
Hibernate温习(13)--Hibernate程序性能优化的考虑要点
本文依照HIBERNATE帮助文档,一些网络书籍及项目经验整理而成,只提供要点和思路,具体做法可以留言探讨,或是找一些更详细更有针对性的资料。 初用HIBERNATE的人也许都遇到过性能问题,实现同一功能,用HIBERNATE与用JDBC性能相差十几倍很正常,如果不及早调整,很可能影响整个项目的进度。 大体上,对于HIBERNATE性能调优的主要考虑点如下: ...2010-11-11 10:55:11 · 120 阅读 · 0 评论 -
Hibernate温习(14)--性能优化之延迟加载机制
延迟加载 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。下面我们就分别介绍这些种类的延迟加载的细节Hibernate中默认采用延迟加载的情况主要有以下几种。1)当调用Session上的l...2010-11-11 11:33:36 · 109 阅读 · 0 评论 -
Hibernate温习(15)--性能优化之抓取策略
抓取策略(fetching strategy) 是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL 或条件查询(Criteria Query)中重载声明。 通过配置抓取策略可以直接影响Session的get()和load()方法的查询效率Hib...2010-11-11 14:51:18 · 157 阅读 · 0 评论 -
Hibernate温习(16)--性能优化之缓存管理
1.缓存概述缓存(cache)在java应用程序中是一组内存中的集合示例,它保存着永久性存储源(如硬盘上的文件或数据库)中数据的备份,它的读写速度比读写硬盘的速度快。应用程序在运行时直接读写缓存中的数据,只在某些特定时刻按照缓存中的数据来同步更新数据存储源。如果缓存中存放的数据量非常大,也会用硬盘作为缓存的物理介质 缓存的作用就是降低应用程序直接读写永久性数据存储源的频率,从而增强应...2010-11-11 16:02:35 · 228 阅读 · 0 评论 -
Hibernate温习(17)--OpenSessionInView模式
在WEB应用程序中,视图(JSP或Servlet)可能会通过导航从某个托管对象中拖出它的关联对象或集合数据,这些关联对象或集合数据如果是被延迟加载的(Hibernate本身就有几种默认延迟加载的情况,欲了解更多请看前面的文章),Hibernate就会抛出LazyInitializationException.因为没有持久化上下文存在时,是无法加载违背初始化的代理和集合的。针对这个问题,Hibe...2010-11-11 17:04:18 · 169 阅读 · 0 评论 -
iBATIS与Spring整合
接着iBATIS的入门实例来说,ibatis与Spring的整合其实跟hibernate与Spring的整合大同小异,都是一个模子的,回想hibernate整合spring:主要是在spring中配置,需要数据源,需要hibernate配置文件,需要sessionFactory。iBATIS走的路线完全一致,直接看配置就明白先是src/sqlmap.xml <?xml vers...2010-12-30 14:34:49 · 104 阅读 · 0 评论 -
iBATIS与Hibernate的异同
HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP...2010-12-30 14:47:32 · 101 阅读 · 0 评论 -
Hibernate温习(4)--三大类查询总结
Hibernate目前总共分为三大类查询:cretiria,hql,本地sql 【以下篇章搜集于网络,感谢作者】第一:关于cretiria的查询 具有一个直观的、可扩展的条件查询API是Hibernate的特色。 15.1. 创建一个Criteria 实例org.hibernate.Criteria接口表示特定持久类的一个查询。Session是 Criteria实例的工厂。Cr...2010-07-16 11:22:47 · 150 阅读 · 0 评论 -
Hibernate温习(11)--多事务并发访问控制
在并发环境,一个数据库系统会同时为各种各样的客户程序提供服务,也就是说,在同一时刻,会有多个客户程序同时访问数据库系统,这多个客户程序中的失误访问数据库中相同的数据时,如果没有采取必要的隔离机制,就会导致各种各样的并发问题的发生,这些并发问题可归纳为以下几类 多个事务并发引起的问题:1)第一类丢失更新:撤消一个事务时,把其它事务已提交的更新的数据覆盖了。2)脏读:一...2010-11-11 10:25:27 · 185 阅读 · 0 评论 -
Hibernate温习(10)--应用程序中的事务管理
事务的定义事务就是指作为单个逻辑工作单元执行的一组数据操作,这些操作要么必须全部成功,要么必须全部失败,以保证数据的一致性和完整性。事务具有ACID属性 原子性(Atomic):事务由一个或多个行为绑在一起组成,好像是一个单独的工作单元。原子性确保在事务中的所有操作要么都发生,要么都不发生。 一致性(Consistent):一旦一个事务结束了(不管成功与否),系统所处的状态和...2010-11-11 09:26:39 · 109 阅读 · 0 评论 -
Hibernate温习(1)--最基础的示例
有关Spring的知识大部分都已经温习完毕,今天开始转向Hibernate的温习工作了必须包hibernate-distribution-3.5.3-Final\hibernate3.jar hibernate-distribution-3.5.3-Final\lib\required\slf4j-api-1.5.8.jar hibernate-dist...2010-11-04 14:22:39 · 108 阅读 · 0 评论 -
Hibernate温习(3)--有关session的总结
说到Hibernate那么最核心的就是它的有关数据库的增删改查操作了,而这些操作中增删改无不依赖着一个关键的对象session,那么提到session就不得不提session中对象的四个状态 看图便知道,通常情况下,大家都认为session中的对象存在三种状态:瞬时(transitent)、持久化(persistent)以及托管(detached)。不过有时还存一种观点,认为应该是四种...2010-11-04 17:22:53 · 143 阅读 · 0 评论 -
Hibernate温习(5)--集合属性映射
Hibernate的集合属性映射简称集合映射集合属性大致有两种:第一种是单纯的集合属性,如像 List、Set 或数组等集合属性;另一种是Map结构的集合属性,每个属性值都有对应的Key映射。 集合映射的元素大致有如下几种:List: 用于映射 List 集合属性Set: 用于映射 Set 集合属性Map: 用于映射 Map 集合性Array: 用于映射数...2010-11-04 22:37:24 · 161 阅读 · 0 评论 -
Hibernate温习(6)--单向一对一外键关联映射
hibernate一对一唯一外键关联映射(单向关联Citizen---->IDCard)一对唯一外键关联映射是多对一关联映射的特例 基于外键关联的单向一对一关联和单向多对一关联几乎是一样的。唯一的不同就是单向一对一关联中的外键字段具有唯一性约束。只需要将原来的many-to-one元素增加unique="true"属性,用于表示N的一端也必须是唯一的,在N的一端增加了唯一的约束,即成...2010-11-05 10:24:02 · 123 阅读 · 0 评论 -
ibatis常用16条SQL语句
(1) 输入参数为单个值 <delete id="com.fashionfree.stat.accesslog.deleteMemberAccessLogsBefore" parameterClass="long"> delete from MemberAccessLog where accessTimestamp = #value# </delet...原创 2011-07-29 11:08:39 · 197 阅读 · 0 评论 -
Hibernate温习(7)--JPA回顾
什么是JPA JPA(Java Persistence API)是Sun官方提出的Java持久化规范。J PA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。他的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibern...2010-11-10 10:39:43 · 124 阅读 · 0 评论 -
Hibernate温习(8)--使用JPA
这次讲的JPA前一篇文章都有所介绍,这里呢就是结合hibernate.cfg.xml来讲讲,怎么用JPA进行CURD操作,类似于Hibernate的session进行CURD操作hibernate.cfg.xml<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE hibernate-configuration P...2010-11-10 11:00:59 · 129 阅读 · 0 评论 -
Hibernate进行测试时时常会有的错误
在hibernate程序中,如果使用JUNIT进行测试的话,第一步大致都会有这样的 private static SessionFactory sf; @BeforeClass public static void init(){ sf = HibernateUtil.getSessionFactory(); } 那么如果具体的方法上测试的话,经常会不...2010-11-10 14:31:27 · 121 阅读 · 0 评论 -
Hibernate温习(9)--有关Hibernate升级后注解方式的对象关系映射
我要说的升级指的是我实际中遇到的,由于我之前的项目中Hibernate是3.3.2版本的,那时关于Annotation注解方式的对象关系映射得依赖这么几个包: hibernate-annotations.jar, ejb3-persistence.jar hibernate-commons-annotations.jar所以之前的项目如果更换为3.5.3版本后(当前最新...2010-11-10 17:06:05 · 118 阅读 · 0 评论 -
HIbernate温习(2)--连接池配置总结基于第三方c3p0和proxool
一直都在用连接池技术,也是个好习惯,但用连接池技术必须要明白,为什么要为数据库加上连接池数据库连接池概述: 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。 数据库连接池负责分配、管理和释放数据库连接,...2010-07-26 14:42:39 · 104 阅读 · 0 评论