2012年7月9日

摘要: 一、《跟我学spring3》电子书下载地址:《跟我学spring3》 (1-7 和8-13)http://jinnianshilongnian.iteye.com/blog/pdf二、源代码下载三、目录:【第一章】 Spring概述 ——跟我学Spring3【第二章】 IoC 之 2.1 IoC基础 ——跟我学Spring3【第二章】 IoC 之 2.2 IoC 容器基本原理 ——跟我学Spring3【第二章】 IoC 之 2.3 IoC的配置使用——跟我学Spring3【第三章】 DI 之 3.1 DI的配置使用 ——跟我学spring3【第三章】 DI 之 3.2 循环依赖 ——跟我学sp 阅读全文
posted @ 2012-07-09 22:38 zhoudong1017 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 设计细颗粒度的持久类并且使用<component>来实现映射。例如使用一个Address持久类来封装 street, suburb, state, postcode. 这将有利于代码重用和简化代码重构(refactoring)的工作。对持久类声明标识符属性( identifier properties)。Hibernate中标识符属性是可选的,不过有很多原因来说明你应该使用标识符属性。我们建议标识符应该是“人造”的(自动生成,不涉及业务含义)。使用自然键(natural keys)标识对所有的实体都标识出自然键,用<natural-id>进行映射。实现equals()和 阅读全文
posted @ 2012-07-09 22:36 zhoudong1017 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 整体流程1:通过configuration来读cfg.xml文件2:得到SessionFactory 工厂3:通过SessionFactory 工厂来创建Session实例4:通过Session打开事务5:通过session的api操作数据库6:事务提交7:关闭连接说明:以下分方法描述的实现流程并不是Hibernate的完整实现流程,也不是Hibernate的完整实现顺序,只是描述了Hibernate实现这 些方法的主干和基本方式,主要是用来理解这些方法背后都发生了些什么,如果需要详细完整的实现流程,请查阅Hibernate相应文档和源代码当我们调用了session.save(UserMode 阅读全文
posted @ 2012-07-09 22:35 zhoudong1017 阅读(179) 评论(0) 推荐(0) 编辑
摘要: Hibernate本身没有事务的实现Hibernate 直接使用 JDBC 连接和 JTA 资源,不添加任何附加锁定行为。也就是说你在Hibernate里面使用的事务要么是JDBC的事务,要么是JTA的事务。Hibernate不锁定内存中的对象你的应用程序会按照你的数据库事务的隔离级别规定的那样运作,真正对事务的实现和支持也依赖于数据库。对于并发处理,Hibernate提供了乐观锁和悲观锁来进行并发处理Hibernate对自动乐观并发控制提供版本管理,针对行级悲观锁定,Hibernate 也提供了辅助的(较小的)API,它使用了 SELECT FOR UPDATE 的 SQL 语法Hibern 阅读全文
posted @ 2012-07-09 22:34 zhoudong1017 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 数据表之间的关系分为三类:一对一、一对多、多对多一对一数据表(部门表 和 部门主管表)一对多数据表(部门表 和 部门下的人员表)多对多数据表(部门表 和 人员表) 根据相互寻找的关系又分:单向和双向对象一对一 (双向) java代码:查看复制到剪贴板打印publicclassA{privateBb=null;}publicclassB{privateAa=null;}n对象一对多(双向)publicclassA{privateBb=null;}publicclassB{privateCollection<A>colA=null;}n对象多对多(双向)publicclassA{pri 阅读全文
posted @ 2012-07-09 22:31 zhoudong1017 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1:瞬时(Transient) - 由new操作符创建,且尚未与Hibernate Session 关联的对象被认定为瞬时的。瞬时对象不会被持久化到数据库中,也不会被赋予持久化标识(identifier)。 如果瞬时对象在程序中没有被引用,它会被垃圾回收器销毁。 使用Hibernate Session可以将其变为持久状态,Hibernate会自动执行必要的SQL语句。2:持久(Persistent) - 持久的实例在数据库中有对应的记录,并拥有一个持久化标识。 持久的实例可能是刚被保存的,或刚被加载的,无论哪一种,按定义,它存在于相关联的Session作用范围内。 Hibernate会检测到处 阅读全文
posted @ 2012-07-09 22:28 zhoudong1017 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 可编程的配置方式-1如果在配置cfg.xml的时候,不想在里面配置hbm.xml怎么办呢?可在程序里使用可编程的配置方式,也就是使用程序来指定在cfg.xml里面的配置信息,不推荐这种方式。如下:Configuration cfg = new Configuration() .addResource("Item.hbm.xml") .addResource("Bid.hbm.xml");一个替代方法(有时是更好选择)是,指定被映射的类,让Hibernate帮你寻找映射定义文件:Configuration cfg = new Configuration() 阅读全文
posted @ 2012-07-09 22:27 zhoudong1017 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 第一部分:Hibernate入门Hibernate是什么 Hibernate是一个轻量级的ORMapping框架 ORMapping原理(Object Relational Mapping) ORMapping基本对应规则:1:类跟表相对应2:类的属性跟表的字段相对应3:类的实例与表中具体的一条记录相对应4:一个类可以对应多个表,一个表也可以对应对个类5:DB中的表可以没有主键,但是Object中必须设置主键字段6:DB中表与表之间的关系(如:外键)映射成为Object之间的关系7:Object中属性的个数和名称可以和表中定义的字段个数和名称不一样ORMapping的基本实现方式:使用JDB. 阅读全文
posted @ 2012-07-09 22:26 zhoudong1017 阅读(141) 评论(0) 推荐(0) 编辑
摘要: struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo: s:iterator 标签有3个属性: value:被迭代的集合 id :指定集合里面的元素的id status 迭代元素的索引1:jsp页面定义元素写法 数组或list <s:iterator value="{'1','2','3','4','5'}" id='number'> <s:property value='number'/> 阅读全文
posted @ 2012-07-09 22:01 zhoudong1017 阅读(75) 评论(0) 推荐(0) 编辑

导航