同一种类型的参数,调用前又不知道是几个?可以考虑定义有一个不定数组的函数(方法)。
/**
 * 根据hql查询,直接使用HibernateTemplate的find函数.
 * @param values 可变参数 
 */
 public List find(String hql, Object... values) {
  //Assert.hasText(hql);
  return getHibernateTemplate().find(hql, values);
 }
			
			
		 
	
		
			
			
			
关于java中switch使用的一些说明
switch(表达式)
{
case 常量表达式1:语句1;
....
case 常量表达式2:语句2;
default:语句;
}
default就是如果没有符合的case就执行它,default并不是必须的.
case后的语句可以不用大括号.
switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型.
一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break,利用这一特性可以让好几个case执
行统一语句.例如:switch(x){case 1:case 2:case3: System.out.println("haha");                break;case4: 
System.out.println("hehe");}
			
			
		 
	
		
			
			
			     摘要: 标签选择器,id选择器,类选择器,群组选择器,派生选择器  
阅读全文
			
			
		 
	
		
			
			
			关键字: css selector
CSS样式定义多了,常常出现显示效果与预期不一致的情况。其中很大一部分原因在于起作用的样式。 
1.多个选择器可能会选择同一个元素,有3个规则,从上到下重要性降低: 
      !important的用户样式 
      !important的作者样式 
      作者样式 
      用户样式 
      浏览器定义的样式 
2. 
CSS规范为不同类型的选择器定义了特殊性权重,特殊性权重越高,样式会被优先应用。 
权重设定如下: 
html选择器,权重为1; 
类选择器,权重为10; 
id选择器,权重为100; 
这里还有一种情况:在html标签中直接使用style属性,这里的style属性的权重为1000; 
即如下情况: 
#x34y {color:red} 
<.  p id=x34y style="color:green">  优先选择style=""设定的样式。 
例子: 
h1{color:blue}  权重为1 
p  em{color:yellow}  权重为2 
.warning{color:red}  权重为10 
p.note em.dark{color:grag}  权重为22 
#main{color:black}  权重为100     这里还有一种情况: 
权重一样时如何处理? 
3.CSS样式的层叠原则——谁离我近,谁说了算。 
当权重一样时,会采用“层叠原则” 后定义的会被应用。 
如:p{color:yellow} 
        p{color:red} 
作用到这里   <. p >我的什么颜色呢?< /p> 
结果会是red的。 
4.CSS样式的特殊标记——谁有特权,谁说了算。 
如果有人看不顺眼,非得要自己说了算,那可以搞点特权,如下即可 
p {color:blue !important;} 
加上!important;可将自己权重设为最高。
http://zjq-blog.javaeye.com/blog/159469
			
			
		 
	
		
			
			
			
用法:
<div id="test">
   <span style="color:red">test1</span> test2
</div>
在JS中可以使用:
test.innerHTML:
  也就是从对象的起始位置到终止位置的全部内容,包括Html标签。 
  上例中的test.innerHTML的值也就是“<span style="color:red">test1</span> test2 ”。
test.innerText: 
  从起始位置到终止位置的内容, 但它去除Html标签 
  上例中的text.innerTest的值也就是“test1 test2”, 其中span标签去除了。 
test.outerHTML:
  除了包含innerHTML的全部内容外, 还包含对象标签本身。
  上例中的text.outerHTML的值也就是<div id="test"><span style="color:red">test1</span> test2</div>
完整示例:
<div id="test">
   <span style="color:red">test1</span> test2
</div>
<a href="javascript:alert(test.innerHTML)">innerHTML内容</a>
<a href="javascript:alert(test.innerText)">inerHTML内容</a>
<a href="javascript:alert(test.outerHTML)">outerHTML内容</a>
特别说明:
  innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器,因此,尽可能地去使用innerHTML,而少用innerText,如果要输出不含HTML标签的内容,可以使用innerHTML取得包含HTML标签的内容后,再用正则表达式去除
 
 
HTML标签,下面是一个简单的符合W3C标准的示例:
<a href="javascript:alert(document.getElementById('test').innerHTML.replace(/<.+?>/gim,''))">无HTML,符合W3C标准</a>
 
 
			
			
		 
	
		
			
			
			 
<s:iterator value="collection1" status="status">  
    <s:property value="collection1[#status.index][0]"/>  
    <s:property value="collection1[#status.index][1]"/>  
</s:iterator>   
 
 
说明:[#status.index][?]" ,指示遍历数组指定的脚标元素,
如果你不知道数组的长度呢?
//以下是遍历数组每一个元素
<s:iterator value="total" status="stuts"> 
      
       <s:iterator value="total[#stuts.index]" > 
                 <s:property/><br>     
       </s:iterator> 
       
</s:iterator> 
http://windring.javaeye.com/blog/108170
 
			
			
		 
	
		
			
			
			作者小毅的博客:http://andymao.com/ 
很多朋友问过我absolute与relative怎么区分,怎么用?我们都知道absolute是绝对定位,relative是相对定位,但是这个绝对与相对是什么意思呢?绝对是什么地方的绝对,相对又是相对于什么地方而言的呢?那他们又有什么样的特性,可以做出什么样的效果呢?关于两者之间又有什么样的技巧呢?下面我们就来一一解读。
 
 
Absolute,CSS中的写法是:position:absolute; 他的意思是绝对定位,他是参照浏览器的左上角,配合TOP、RIGHT、BOTTOM、LEFT(下面简称TRBL)进行定位,在没有设定TRBL,默认依据父级的做标原始点为原始点。如果设定TRBL并且父级没有设定position属性,那么当前的absolute则以浏览器左上角为原始点进行定位,位置将由TRBL决定。

一般来讲,网页居中的话用Absolute就容易出错,因为网页一直是随着分辨率的大小自动适应的,而Absolute则会以浏览器的左上角为原始点,不会应为分辨率的变化而变化位置。很多人出错就在于这点上出错。而网页居左其特性与Relative很相似,但是还是有本质的区别的。
 
 
Relative,CSS中的写法是:position:relative;  他的意思是相对定位,他是参照父级的原始点为原始点,无父级则以BODY的原始点为原始点,配合TRBL进行定位,当父级内有padding等CSS属性时,当前级的原始点则参照父级内容区的原始点进行定位。

有时我们还需要依靠z-index来设定容器的上下关系,数值越大越在最上面,数值范围是自然数。当然有一点要注意,父子关系是无法用z-index来设定上下关系的,一定是子级在上父级在下。
http://www.blueidea.com/tech/web/2006/4249.asp
			
			
		 
	
		
			
			
			 
SQL重复记录查询
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select   peopleId from   people group by   peopleId having count (peopleId) > 1)
2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
delete from people 
where peopleId in (select   peopleId from people group by   peopleId   having count (peopleId) > 1)
and rowid not in (select min(rowid) from   people group by peopleId having count(peopleId )>1)
3、查找表中多余的重复记录(多个字段) 
select * from vitae a
where (a.peopleId,a.seq) in   (select peopleId,seq from vitae group by peopleId,seq having
count(*) > 1)
4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete from vitae a
where (a.peopleId,a.seq) in   (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select * from vitae a
where (a.peopleId,a.seq) in   (select peopleId,seq from vitae group by peopleId,seq having
count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
(二)
比方说
在A表中存在一个字段“name”,
而且不同记录之间的“name”值有可能会相同,
现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项;
Select Name,Count(*) From A Group By Name Having Count(*) > 1
如果还查性别也相同大则如下:
Select Name,sex,Count(*) From A Group By Name,sex Having Count(*) > 1
(三)
方法一
declare @max integer,@id integer
declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having
count(*) >; 1
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max -1
set rowcount @max
delete from 表名 where 主字段 = @id
fetch cur_rows into @id,@max
end
close cur_rows
set rowcount 0
方法二
有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,
二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。
  1、对于第一种重复,比较容易解决,使用
select distinct * from tableName
  就可以得到无重复记录的结果集。
  如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除
select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp
  发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。
  2、这类重复问题通常要求保留重复记录中的第一条记录,操作方法如下
  假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集
select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
select * from #Tmp where autoID in(select autoID from #tmp2)
  最后一个select即得到了Name,Address不重复的结果集(但多了一个autoID字段,实际写时可以写
在select子句中省去此列)
(四)查询重复
select * from tablename 
where id in (select id from tablename group by id having count(id) > 1)
                                                            --from 网络
http://hi.baidu.com/zeronet/blog/item/27c41046d2c0060a6b63e596.html
			
			
		 
	
		
			
			
			
		
				
这两个包区别,开始一直没注意。
org.springframework.orm.hibernate3             Package providing integration of 
Hibernate3 with Spring concepts.
org.springframework.orm.hibernate         Package providing integration of Hibernate 2.1 with Spring concepts.
最后说一点,由于hibernate进行了一次版本更新,因此存在hibernate3和hibernate两个包(如:import org.springframework.orm.hibernate3.support.HibernateDaoSupport;)。用hibernate3.x,一定使用hibernate3包。
http://doc.javanb.com/spring-framework-reference-zh-2-0-5/ch12s02.html