摘要: Spring的另一个重要思想是AOP,面向切面的编程,它提供了一种机制,可以在执行业务前后执行另外的代码,Servlet中的Filter就是一种AOP思想的体现,下面通过一个例子来感受一下. 假设我们现在需要在针对数据库进行CRUD操作时添加一组日志,即在执行CRUD方法前后分别加上一句话,实现简单 阅读全文
posted @ 2016-03-14 15:37 冬至饮雪 阅读(1473) 评论(2) 推荐(2) 编辑
摘要: 控制反转和依赖注入讲的都是一个概念,只不过是站在了不同的角度,所谓的依赖注入: 是指在运行期,由外部容器动态地将依赖对象注入到组件中。当spring容器启动后,spring容器初始化,创建并管理bean对象,以及销毁它。所以我们只需从容器直接获取Bean对象就行,而不用编写一句代码来创建bean对象 阅读全文
posted @ 2016-03-13 14:14 冬至饮雪 阅读(1552) 评论(0) 推荐(0) 编辑
摘要: Spring框架是一个轻量级的框架,不依赖容器就能够运行,像重量级的框架EJB框架就必须运行在JBoss等支持EJB的容器中,核心思想是IOC,AOP,Spring能够协同Struts,hibernate等其他众多的框架. 具体描述Spring: 1.轻量级:Spring是非侵入性的,基于Sprin 阅读全文
posted @ 2016-03-12 23:32 冬至饮雪 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 在写一个struts2+hibernate整合的小例子时,启动Tomcat服务器,报了一个: 严重: Exception starting filter struts2java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng 阅读全文
posted @ 2016-03-10 11:15 冬至饮雪 阅读(17542) 评论(4) 推荐(5) 编辑
摘要: 刚刚学完这两个框架,就迫不及待的做了一个例子,在整合两个框架的时候,也碰到了一些小问题,下面介绍一下配置的步骤: 1.创建一个自定义的struts2和hibernate的类库 因为之前写例子都是直接将jar包拖到WEB-INF下的lib包下,但是这里需要导入两个框架的jar包,放在一起的话,会很乱, 阅读全文
posted @ 2016-03-10 10:12 冬至饮雪 阅读(2069) 评论(1) 推荐(1) 编辑
摘要: 二级缓存(sessionFactory): Hibernate的二级缓存由SessionFactory对象管理,是应用级别的缓存。它可以缓存整个应用的持久化对象,所以又称为“SessionFactory缓存”. hibernate二级缓存中的缓存对象可以被整个应用的Session对象共享,即使关闭当 阅读全文
posted @ 2016-03-09 21:41 冬至饮雪 阅读(2532) 评论(0) 推荐(0) 编辑
摘要: 一级缓存: 又称为session缓存,它和session生命周期相同,周期非常短.是事务级别的缓存: 还是以Book和Category这两个表为例,我们用代码观察一个缓存的存在: 假设现在我要去查询id=1的Book信息: List<Book> list =(List) session.create 阅读全文
posted @ 2016-03-09 15:05 冬至饮雪 阅读(3758) 评论(0) 推荐(0) 编辑
摘要: 假设现在有Book和Category两张表,表的关系为双向的一对多,表结构如下: 假设现在我想查询id为2的那本书的书名,使用session.get(...)方法: 1 Session session=HibernateUtil.getSession(); 2 Book book =(Book) s 阅读全文
posted @ 2016-03-08 21:53 冬至饮雪 阅读(3844) 评论(2) 推荐(1) 编辑
摘要: HQL查询过程中支持添加过滤器.使用步骤是这样的: 首先在要查询的实体对象的映射中使用<filter-def>标签配置过滤器,并在相对应的<class>标签中添加对应的<filter>过滤器;然后在对应的程序文件中使用enableFilter()方法启动过滤器,为过滤器定义的参数赋值,在执行时就会自 阅读全文
posted @ 2016-03-08 10:54 冬至饮雪 阅读(2926) 评论(0) 推荐(0) 编辑
摘要: Hibernate配备了一种非常强大的查询语言,就是HQL(hibernate query language),HQL看上去很像sql,但只是语法结构上相似,HQL是一种面向对象的查询,他可以理解继承,多态之类的概念. HQL区分大小写,sql语句关键字(如select ,from,where等)是 阅读全文
posted @ 2016-03-06 12:07 冬至饮雪 阅读(3375) 评论(1) 推荐(0) 编辑
摘要: 前面几篇都是介绍的用配置文件来实现实体类到数据库表的映射,这种方式是比较麻烦的,每一个pojo类都需要写一个相应的*.hbm.xml,无疑增加了很多代码量,不过也有优点就是利于维护,为了方便开发,Hibernate还提供了注解方式配置映射文件,非常灵活,减少了配置文件的冗余,虽然维护起来相对比较麻烦 阅读全文
posted @ 2016-03-05 10:47 冬至饮雪 阅读(1404) 评论(0) 推荐(0) 编辑
摘要: 单表继承映射(一张表): 假设我们现在有三个类,关系如下: Person类有两个子类Student和Teacher,并且子类都具有自己独有的属性.这种实体关系在hibernate中可以使用单表的继承映射来建表,最后生成的表是这样的: 可以看到我们只需要建立一张表就可以维护这个关系,这种方式就是单表继 阅读全文
posted @ 2016-03-04 19:18 冬至饮雪 阅读(3837) 评论(0) 推荐(1) 编辑
摘要: 在讲单向的多对多的映射关系的案例时,我们假设我们有两张表,一张角色表Role,一张权限表Function,我们知道一个角色或者说一个用户,可能有多个操作权限,而一种操作权限同时被多个用户所拥有,假如我们我们的需求是能通过角色获取到其所拥有的操作权限,这就构成了单项的多对多的映射关系,为了管理这个关系 阅读全文
posted @ 2016-03-04 10:36 冬至饮雪 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 上一节介绍的基于外键的一对一映射关系中,在Person表中有一个外键列idCard_id,对应的idCard表的主键id,至于基于主键的一对一映射关系,就是指Person表中抛弃了idcard_id这个外键列,而与idCard表共用一个主键,或者说是其外键为主键的表结构,这种基于主键的双向一对一映射 阅读全文
posted @ 2016-03-03 20:40 冬至饮雪 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 假设我们有两张表,人员信息表Person,和身份信息表IdCard,我们知道每个人只有一个身份证号,所以这里的Person和IdCard表是一一对应的,也就是一对一的映射关系,基于外键的单向一对一映射关系,只需要在单向多对一的映射关系的多的一端的配置文件的<many-to-one>标签中添加一个un 阅读全文
posted @ 2016-03-03 19:39 冬至饮雪 阅读(241) 评论(0) 推荐(0) 编辑