2009年4月24日

对生命负责(每天给生命一点锻炼的时间)

     摘要: 突然间感觉身体有很多问题,而我的年龄才只有20多岁,简直不敢相信,一场感冒的突袭,竟持续1月之久,至今,我都没有完全康复,随之而来的又是一系列其它的不适,我不知道,自己的身体究竟怎么了?我才只有20多岁,身体竟然如此不堪一击。忽然想起,近年来,真的很好锻炼身体,白天上班做一天,而上下班不是地铁就是公交,走路很少,回到家里更是很少外出。基本上也是坐着,吃饭坐着,看电视坐着,打电脑还是坐着。每天10几个小时奉献给了“作者”..  阅读全文

posted @ 2010-01-26 22:21 MichaelLee 阅读(340) | 评论 (0)编辑 收藏

ssh整合开发,常见的错误

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文件里定义的内容:

<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>

posted @ 2010-01-17 16:24 MichaelLee 阅读(337) | 评论 (0)编辑 收藏

数据库查询优化方案(处理上百万级记录如何提高处理查询速度)

     摘要: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 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  阅读全文

posted @ 2009-12-19 15:23 MichaelLee 阅读(10875) | 评论 (6)编辑 收藏

Spring事务的传播行为和隔离级别

     摘要: PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。  阅读全文

posted @ 2009-11-24 12:13 MichaelLee 阅读(233) | 评论 (0)编辑 收藏

hibernate:session.get 与 session.load区别

     摘要: Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。其区别在于:

如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。
Load方法可返回实体的代理类实例,而get方法永远直接返回实体类。
load方法可以充分利用内部缓存和二级缓存中的现有数据,而get方法则仅仅在内部缓存中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用SQL完成数据读取。   阅读全文

posted @ 2009-11-24 11:36 MichaelLee 阅读(628) | 评论 (0)编辑 收藏

Hibernate延迟加载机制(面试时常会问到的问题)

     摘要: 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。下面我们就分别介绍这些种类的延迟加载的细节。  阅读全文

posted @ 2009-11-24 11:14 MichaelLee 阅读(851) | 评论 (0)编辑 收藏

OpenSessionInView详解(面试时常会问到的问题)

     摘要: OpenSessionInViewFilter是Spring提供的一个针对Hibernate的一个支持类,其主要意思是在发起一个页面请求时打开 Hibernate的Session,一直保持这个Session,直到这个请求结束,具体是通过一个Filter来实现的。

由于 Hibernate引入了Lazy Load特性,使得脱离Hibernate的Session周期的对象如果再想通过getter方法取到其关联对象的值,Hibernate会抛出一个 LazyLoad的Exception。所以为了解决这个问题,Spring引入了这个Filter,使得Hibernate的Session的生命周期变长。  阅读全文

posted @ 2009-11-24 11:13 MichaelLee 阅读(552) | 评论 (0)编辑 收藏

sql语法/用法整理(修正版)

     摘要: 最后,再补充一些:

分组group

  常用于统计时,如分组查总数:
select gender,count(sno)
from students
group by gender
(查看男女学生各有多少)

  注意:从哪种角度分组就从哪列"group by"  阅读全文

posted @ 2009-11-23 16:10 MichaelLee 阅读(469) | 评论 (0)编辑 收藏

SQL语句 SELECT LIKE like用法详解

     摘要: LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。   阅读全文

posted @ 2009-11-23 16:06 MichaelLee 阅读(763) | 评论 (0)编辑 收藏

SQL PRIMARY KEY 约束

     摘要: PRIMARY KEY 约束唯一标识数据库表中的每条记录。

主键必须包含唯一的值。

主键列不能包含 NULL 值。

每个表应该都一个主键,并且每个表只能有一个主键。
SQL PRIMARY KEY Constraint on CREATE TABLE  阅读全文

posted @ 2009-11-23 15:35 MichaelLee 阅读(718) | 评论 (0)编辑 收藏

Hibernate映射导致的几个异常

     摘要: 异常1:not-null property references a null or transient value
解决方法:将“一对多”关系中的“一”方,not-null设置为false  阅读全文

posted @ 2009-10-21 21:12 MichaelLee 阅读(386) | 评论 (0)编辑 收藏

选择Java接口还是抽象类(转)

     摘要: 实际上接口和抽象类的选择不是随心所欲的。要理解接口和抽象类的选择原则,有两个概念很重要:对象的行为和对象的实现。如果一个实体可以有多种实现方式,则在设计实体行为的描述方式时,应当达到这样一个目标:在使用实体的时候,无需详细了解实体行为的实现方式。也就是说,要把对象的行为和对象的实现分离开来。既然Java的接口和抽象类都可以定义不提供具体实现的方法,在分离对象的行为和对象的实现时,到底应该使用接口还是使用抽象类呢?  阅读全文

posted @ 2009-10-09 16:03 MichaelLee 阅读(133) | 评论 (0)编辑 收藏

Spring中常用的hql查询方法(getHibernateTemplate()) 圈

     摘要: 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的对象)
  阅读全文

posted @ 2009-08-07 16:59 MichaelLee 阅读(1679) | 评论 (0)编辑 收藏

apache.commons.beanutils.BeanUtils的使用

     摘要: 该class提供了一系列的静态方法操作业已存在的符合JavaBean规范定义的Java Class.这里强调的JavaBean规范,简单来说就是一个Java Class通过一系列getter和setter的方法向外界展示其内在的成员变量(属性).通过BeanUtils的静态方法,我们可以: 复制一个JavaBean的实例  阅读全文

posted @ 2009-08-07 16:45 MichaelLee 阅读(7086) | 评论 (0)编辑 收藏

struts2 标签的使用之二 s:iterator(修正)

     摘要: struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo:
s:iterator 标签有3个属性:
value:被迭代的集合
id :指定集合里面的元素的id
status 迭代元素的索引  阅读全文

posted @ 2009-07-14 17:16 MichaelLee 阅读(3131) | 评论 (3)编辑 收藏

oracle怎么实现左联,右联与外联?9i以前写法 9i以后10g 11g的写法

左联:
select a.id,a.name,b.address from a,b
where a.id=b.id(+)
右联:
select a.id,a.name,b.address from a,b
where a.id(+)=b.id
外联
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以上,已经开始支持SQL99标准,所以,以上语句可以写成:
默认内部联结:
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
左联
select a.id,a.name,b.address
from a left outer join b on a.id=b.id
where other_clause
右联
select a.id,a.name,b.address
from a right outer join b on a.id=b.id
where other_clause
外联
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

posted @ 2009-07-08 10:19 MichaelLee 阅读(2164) | 评论 (0)编辑 收藏

java类集整理collection map iterator listiterator list set enumeration

     摘要: 类集的作用、Collection、Map、Iterator、ListIterator、List、Set、Enumeration、二叉树算法
JAVA SE的最重要四块知识:面向对象、类集、JAVA IO、数据库编程   阅读全文

posted @ 2009-06-03 14:12 MichaelLee 阅读(2942) | 评论 (1)编辑 收藏

AJAX之表单即时验证

     摘要: Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。
我们以两个验证通行证帐号是否存在的例子来讲述AJAX在实际中的应用:
(1) 用文本字符串的方式返回服务器的响应来验证网易通行证帐号是否存在;
(2) 以XMLDocument对象方式返回响应来验证金山通行证帐号是否存在;   阅读全文

posted @ 2009-04-24 18:24 MichaelLee 阅读(1079) | 评论 (4)编辑 收藏

JS日期和时间选择控件 转

     摘要: 大部分还是借鉴前人的代码,添加了时间选择功能,隐藏会遮挡控件的标签select,object。
开始本想使用window.createPopup()来弹出日历的选择,这样就可以跨过任何标签。
不过做到中途发现用createPopup窗口实现理论上是行不通的:
一是因为不在窗体里单击任何地方都会关闭窗口,而当用下拉框选择年份时,很有可能会单击到窗体外的地方,当然这个可以自己写select来避免,但是比较麻烦;
二是窗体的宽度和高度只能在弹出时设置,而显然,在选择不同年月时,控件高度是要发生改变的。
鉴于上面的原因,还是决定采用普通的处理方法。
  阅读全文

posted @ 2009-04-24 15:18 MichaelLee 阅读(9427) | 评论 (1)编辑 收藏

<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

导航

统计

公告

====Michael Lee====
=Java Sofware Engineer=
=Work @ Beijing=
---再烦,也别忘微笑;再急,也要注意语气;再苦,也别忘坚持;再累,也要爱自己!---
---低调做人,你会一次比一次稳健;高调做事,你会一次比一次优秀---
---成功的时候不要忘记过去;失败的时候不要忘记还有未来---

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜