随笔分类 -  攻城狮在路上

摘要:BeanFactory时Spring框架最核心的接口,它提供了高级IoC的配置机制,使管理不同类型的Java对象成为了可能。我们一般称BeanFactory为IoC容器。BeanFactory是Spring的基础设施,面向Spring本身。一、BeanFactory的体系结构:二、类图说明: Li... 阅读全文
posted @ 2014-06-18 22:20 于辰 阅读(234) 评论(0) 推荐(0)
摘要:Spring为了更好的满足各种底层资源的访问需求。设计了一个Resource接口,提供了更强的访问底层资源的能力。Spring框架使用Resource装载各种资源,包括配置文件资源、国际化属性文件资源等。一、Resource接口的主要方法有: boolean exists():资源是否存在。 b... 阅读全文
posted @ 2014-06-18 21:11 于辰 阅读(586) 评论(0) 推荐(0)
摘要:一、IoC的概念: IoC(控制反转)是Spring容器的核心。另一种解释是DI(依赖注入),即让调用类对某一个接口的依赖关系由第三方注入,以移除调用类对某一个接口实现类的一览。 定义如此,由此可见,在面向接口编程的情况下,IoC可以很好的实现解耦,可以以配置的方式为程序提供所需要的接口实现类。... 阅读全文
posted @ 2014-06-16 21:32 于辰 阅读(174) 评论(0) 推荐(0)
摘要:一、软件环境:二、参考书目: 《Spring 3.X 企业应用开发实战》 陈雄华、林开雄著 电子工业出版社出版三、其他说明: spring 源码地址:https://github.com/spring-projects/spring-framework 阅读全文
posted @ 2014-06-16 21:30 于辰 阅读(154) 评论(0) 推荐(0)
摘要:一般Session的缓存被称为Hibernate的第一级缓存,SessionFactory的外置缓存是一个可配置的缓存插件,称为Hibernate的第二级缓存。一、缓存的基本原理: 1、持久化层的缓存的范围: A、事务范围:缓存只被当前事务访问。 B、进程范围:缓存被进程内的所有事务共... 阅读全文
posted @ 2014-06-15 16:06 于辰 阅读(306) 评论(0) 推荐(0)
摘要:一、多个事务并发运行时的并发问题: 总结为第一类丢失更新、脏读、虚读、不可重复读、第二类丢失更新。 1、第一类丢失更新:撤销一个事务时,把其他事务已提交的更新数据覆盖。 2、脏读:一个事务读到另一个事务未提交的更新数据。 3、虚读(幻读):一个事务读到另一个事务已提交的新插入的数据。 4、... 阅读全文
posted @ 2014-06-15 14:33 于辰 阅读(820) 评论(0) 推荐(0)
摘要:一、数据库事务的概念: 数据库的ACID特征:Atomic、Consistency、Isolation、Durability。原子性、一致性、隔离性、持久性。不同的隔离级别引发的不同问题。 事务的ACID特征是由数据库管理系统来实现的。 数据库管理系统通过锁机制来实现事务的隔离性。二、声明事务... 阅读全文
posted @ 2014-06-14 21:55 于辰 阅读(285) 评论(0) 推荐(0)
摘要:一、配置数据库连接池: 1、使用默认的数据库连接池: Hibernate提供了默认了数据库连接池,它的实现类为DriverManegerConnectionProvider,如果在Hibernate的配置文件中没有明确配置任何连接池,Hibernate就会使用这个默认的连接池。 注意:... 阅读全文
posted @ 2014-06-14 21:09 于辰 阅读(202) 评论(0) 推荐(0)
摘要:本节介绍HQL和QBC的高级用法:各种连接查询、投影查询、报表查询、动态查询、集合过滤和子查询等。另外将归纳优化查询程序代码,从而提高查询性能的各种技巧。一、连接查询: HQL与QBC支持的各种连接类型: 在程序中指定的连接查询类型HQL语法QBC语法适用范围内连接innerjoin或者j... 阅读全文
posted @ 2014-06-14 18:32 于辰 阅读(349) 评论(0) 推荐(0)
摘要:Hibernate提供了以下几种检索对象的方式:A、导航对象图检索方式。B、OID检索方式。Session.get() load();C、HQL检索方式。Query.D、QBC检索方式。Query By Criteria.E、本地SQL检索方式。一、HQL检索方式:Hibernate Query L... 阅读全文
posted @ 2014-06-12 23:35 于辰 阅读(210) 评论(0) 推荐(0)
摘要:本文依旧以Customer类和Order类进行说明。一、引言: Hibernate检索Customer对象时立即检索与之关联的Order对象,这种检索策略为立即检索策略。立即检索策略存在两大不足: A、select语句太多,而且会出现N+1的问题。所谓N+1,1是指先查出所有的Custome... 阅读全文
posted @ 2014-06-11 22:48 于辰 阅读(203) 评论(0) 推荐(0)
摘要:本文以Customer和Address类的关系为例说明一对一关联映射;以Category和Item类的关系说明多对多关联关系。一、映射一对一关联: 分两种情况:按照外键映射和按照主键映射。这两种方式的区别在于对应表结构的不同。 1、按照外键映射: 实例代码:Customer.hbm.xml:A... 阅读全文
posted @ 2014-06-10 22:06 于辰 阅读(218) 评论(0) 推荐(0)
摘要:一、映射Set(集):未排序,无重复。 实例代码: 参数说明:name:指定属性名。table:指定与属性名对应的表名。lazy:是否延迟加载。:指定IMAGES的外键。:指定和images集合中元素对应的字段为FILENAME。二、映射Bag(包):未排序,允许重复。 Hibern... 阅读全文
posted @ 2014-06-09 21:37 于辰 阅读(367) 评论(0) 推荐(0)
摘要:Hibernate采用映射类型作为Java类型和SQL类型的桥梁,对应type属性。分为两种:内置映射类型和客户化映射类型。一、内置映射类型: 1、Java基本类型的Hibernate映射类型: Java基础类型的Hibernate映射类型Hibernate映射类型Java类型标准SQL类型... 阅读全文
posted @ 2014-06-04 22:04 于辰 阅读(496) 评论(0) 推荐(0)
摘要:一、使用组成关系的原则: 在不导致数据冗余的前提下,尽可能减少数据库表的数目及表之间的外键参照关系,因为建立多个表的连接是很耗时的操作。 举例说明:Customer类中的Address属性,可以通过组件的方式来映射,避免了额外建立一张ADDRESS表,还能达到对象化操作的目的。 配置文件: ... 阅读全文
posted @ 2014-06-03 21:58 于辰 阅读(286) 评论(0) 推荐(0)
摘要:一、与触发器协同工作: 当Hibernate与数据库的触发器协同工作时,会出现以下两类问题: 1、触发器使Session缓存中的数据和数据库中的不一致: 出现此问题的原因是触发器运行在数据库内,它执行的操作对Session是透明的。 解决方案:在执行完包含有触发器的操作之后,立刻调用... 阅读全文
posted @ 2014-05-29 22:36 于辰 阅读(221) 评论(0) 推荐(0)
摘要:一、Hibernate缓存简介: Session接口是Hibernate向应用程序提供的操纵数据接口的最主要接口,它提供了基本的保存、更新、删除和加载Java对象的方法。 Session具有一个缓存,位于缓存中的对象称为持久化对象,Session能够在某些时间点来同步更新数据库,这一过程即为清理... 阅读全文
posted @ 2014-05-25 23:05 于辰 阅读(228) 评论(0) 推荐(0)
摘要:关联是有方向的,包含单向关联和双向关联。分别讨论。本文以客户Customer和订单Order来进行讨论:一个Customer有多个Order,每个Order对应一个Customer。Customer对象代码:public class Customer { private long id; pri... 阅读全文
posted @ 2014-05-23 22:19 于辰 阅读(197) 评论(0) 推荐(0)
摘要:Hibernate使用对象标识符(OID)来建立内存中对象和数据库表中记录的对应关系,对象的OID和数据库的主键对应。为了保证OID的唯一性和不可变性,应该让Hibernate来为OID赋值。Hibernate通过标识符生成器来为OID赋值。一、指定标识符生成器: 使用元素的子元素来指定。Hi... 阅读全文
posted @ 2014-05-22 22:14 于辰 阅读(1075) 评论(0) 推荐(0)
摘要:一、hibernate访问持久化类属性的策略: 在元素中的access属性用于指定Hibernate访问持久化类属性的方式。 常见的方式如下: 1、property:默认值。hibernate通过相应的getXXX()和setXXX()方法。 2、field:hibernate运用反... 阅读全文
posted @ 2014-05-21 23:09 于辰 阅读(633) 评论(0) 推荐(0)