2009年6月3日
摘要: 突然間感覺身體有很多問題,而我的年齡才只有20多歲,簡直不敢相信,一場感冒的突襲,竟持續(xù)1月之久,至今,我都沒有完全康復,隨之而來的又是一系列其它的不適,我不知道,自己的身體究竟怎么了?我才只有20多歲,身體竟然如此不堪一擊。忽然想起,近年來,真的很好鍛煉身體,白天上班做一天,而上下班不是地鐵就是公交,走路很少,回到家里更是很少外出。基本上也是坐著,吃飯坐著,看電視坐著,打電腦還是坐著。每天10幾個小時奉獻給了“作者”..
閱讀全文
Error creating bean with name 'sessionFactory' defined
更多是因為jar包沖突所致,asm-util-2.2.3,asm-2.2.3,asm-commons-2.2.3 這三個保留第二個。
另外,關于用eclipse自動添加spring支持,生成的applicationContext.xml文件里定義的內(nèi)容:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
應該改為:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>
摘要: 1.對查詢進行優(yōu)化,應盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。
2.應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:
select id from t where num is null
可以在num上設置默認值0,確保表中num列沒有null值,然后這樣查詢:
select id from t where num=0
閱讀全文
摘要: PROPAGATION_REQUIRED--支持當前事務,如果當前沒有事務,就新建一個事務。這是最常見的選擇。
PROPAGATION_SUPPORTS--支持當前事務,如果當前沒有事務,就以非事務方式執(zhí)行。
PROPAGATION_MANDATORY--支持當前事務,如果當前沒有事務,就拋出異常。
PROPAGATION_REQUIRES_NEW--新建事務,如果當前存在事務,把當前事務掛起。
PROPAGATION_NOT_SUPPORTED--以非事務方式執(zhí)行操作,如果當前存在事務,就把當前事務掛起。
PROPAGATION_NEVER--以非事務方式執(zhí)行,如果當前存在事務,則拋出異常。
閱讀全文
摘要: Session.load/get方法均可以根據(jù)指定的實體類和id從數(shù)據(jù)庫讀取記錄,并返回與之對應的實體對象。其區(qū)別在于:
如果未能發(fā)現(xiàn)符合條件的記錄,get方法返回null,而load方法會拋出一個ObjectNotFoundException。
Load方法可返回實體的代理類實例,而get方法永遠直接返回實體類。
load方法可以充分利用內(nèi)部緩存和二級緩存中的現(xiàn)有數(shù)據(jù),而get方法則僅僅在內(nèi)部緩存中進行數(shù)據(jù)查找,如沒有發(fā)現(xiàn)對應數(shù)據(jù),將越過二級緩存,直接調用SQL完成數(shù)據(jù)讀取。
閱讀全文
摘要: 延遲加載機制是為了避免一些無謂的性能開銷而提出來的,所謂延遲加載就是當在真正需要數(shù)據(jù)的時候,才真正執(zhí)行數(shù)據(jù)加載操作。在Hibernate中提供了對實體對象的延遲加載以及對集合的延遲加載,另外在Hibernate3中還提供了對屬性的延遲加載。下面我們就分別介紹這些種類的延遲加載的細節(jié)。
閱讀全文
摘要: OpenSessionInViewFilter是Spring提供的一個針對Hibernate的一個支持類,其主要意思是在發(fā)起一個頁面請求時打開 Hibernate的Session,一直保持這個Session,直到這個請求結束,具體是通過一個Filter來實現(xiàn)的。
由于 Hibernate引入了Lazy Load特性,使得脫離Hibernate的Session周期的對象如果再想通過getter方法取到其關聯(lián)對象的值,Hibernate會拋出一個 LazyLoad的Exception。所以為了解決這個問題,Spring引入了這個Filter,使得Hibernate的Session的生命周期變長。
閱讀全文
摘要: 最后,再補充一些:
分組group
常用于統(tǒng)計時,如分組查總數(shù):
select gender,count(sno)
from students
group by gender
(查看男女學生各有多少)
注意:從哪種角度分組就從哪列"group by"
閱讀全文
摘要: LIKE語句的語法格式是:select * from 表名 where 字段名 like 對應值(子串),它主要是針對字符型字段的,它的作用是在一個字符型字段列中檢索包含對應子串的。
閱讀全文
摘要: PRIMARY KEY 約束唯一標識數(shù)據(jù)庫表中的每條記錄。
主鍵必須包含唯一的值。
主鍵列不能包含 NULL 值。
每個表應該都一個主鍵,并且每個表只能有一個主鍵。
SQL PRIMARY KEY Constraint on CREATE TABLE
閱讀全文
摘要: 異常1:not-null property references a null or transient value
解決方法:將“一對多”關系中的“一”方,not-null設置為false
閱讀全文
摘要: 實際上接口和抽象類的選擇不是隨心所欲的。要理解接口和抽象類的選擇原則,有兩個概念很重要:對象的行為和對象的實現(xiàn)。如果一個實體可以有多種實現(xiàn)方式,則在設計實體行為的描述方式時,應當達到這樣一個目標:在使用實體的時候,無需詳細了解實體行為的實現(xiàn)方式。也就是說,要把對象的行為和對象的實現(xiàn)分離開來。既然Java的接口和抽象類都可以定義不提供具體實現(xiàn)的方法,在分離對象的行為和對象的實現(xiàn)時,到底應該使用接口還是使用抽象類呢?
閱讀全文
摘要: find(String queryString , Object value);
示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");
或模糊查詢:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");
返回name屬性值為test的對象(模糊查詢,返回name屬性值包含test的對象)
閱讀全文
摘要: 該class提供了一系列的靜態(tài)方法操作業(yè)已存在的符合JavaBean規(guī)范定義的Java Class.這里強調的JavaBean規(guī)范,簡單來說就是一個Java Class通過一系列getter和setter的方法向外界展示其內(nèi)在的成員變量(屬性).通過BeanUtils的靜態(tài)方法,我們可以: 復制一個JavaBean的實例
閱讀全文
摘要: struts2的s:iterator 可以遍歷 數(shù)據(jù)棧里面的任何數(shù)組,集合等等 以下幾個簡單的demo:
s:iterator 標簽有3個屬性:
value:被迭代的集合
id :指定集合里面的元素的id
status 迭代元素的索引
閱讀全文
左聯(lián):
select a.id,a.name,b.address from a,b
where a.id=b.id(+)
右聯(lián):
select a.id,a.name,b.address from a,b
where a.id(+)=b.id
外聯(lián)
SELECT a.id,a.name,b.address
FROM a,b
WHERE a.id = b.id(+)
UNION
SELECT b.id,'' name,b.address
FROM b
WHERE NOT EXISTS (
SELECT * FROM a
WHERE a.id = b.id);
在9i以上,已經(jīng)開始支持SQL99標準,所以,以上語句可以寫成:
默認內(nèi)部聯(lián)結:
select a.id,a.name,b.address,c.subject
from (a inner join b on a.id=b.id)
inner join c on b.name = c.name
where other_clause
左聯(lián)
select a.id,a.name,b.address
from a left outer join b on a.id=b.id
where other_clause
右聯(lián)
select a.id,a.name,b.address
from a right outer join b on a.id=b.id
where other_clause
外聯(lián)
select a.id,a.name,b.address
from a full outer join b on a.id=b.id
where other_clause
or
select a.id,a.name,b.address
from a full outer join b using (id)
where other_clause
摘要: 類集的作用、Collection、Map、Iterator、ListIterator、List、Set、Enumeration、二叉樹算法
JAVA SE的最重要四塊知識:面向對象、類集、JAVA IO、數(shù)據(jù)庫編程
閱讀全文