??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲AV无码一区二区三区牲色,亚洲精品色播一区二区,亚洲宅男天堂在线观看无病毒http://www.tkk7.com/heweiya/archive/2007/06/20/125328.html@家军@家军Wed, 20 Jun 2007 05:29:00 GMThttp://www.tkk7.com/heweiya/archive/2007/06/20/125328.htmlhttp://www.tkk7.com/heweiya/comments/125328.htmlhttp://www.tkk7.com/heweiya/archive/2007/06/20/125328.html#Feedback1http://www.tkk7.com/heweiya/comments/commentRss/125328.htmlhttp://www.tkk7.com/heweiya/services/trackbacks/125328.html      argouml下蝲地址
     我一眼就看上他的原因是:生成的用例和包图可能直接生成JAVA代码Q而且准备无误Q这正是我要扄?br>      我想:以后使用一些框架的话,可能由PD生成一些实?然后Hibernate生成pojo{?加入到argouml,然后Ҏ一个框架的Ҏ生成一些包 和类.q于详l设计了?应该来说是比详细设计q实用的东西.L哪些WORD文档好吧.q有让h看不懂的概要设计.
    我想从技术出?q个是一条比较适用的\?下班?我明天将会汇报一下我使用的情况和一些范?
    反过来又惛_.q好象是一个组合的脚手?好象ROR的零星操作步?应该学习.ROR毕竟是一个新生事?JAVAEYE的推q也需要一个时?如果像我q样的打?混口饭吃的hq是专心的研IJ2EE好一?否则明天没有饭吃了.

    呵呵.我的文章可被JAVAEYE收回到水贴里了,可能自己的能力不如h吧,好好学习Q天天向上,如果看客有什么好的工具和软g生思\Q可以共同交?br>

@家军 2007-06-20 13:29 发表评论
]]>
ROR:习惯U定优于配置(学习ROR的第一? http://www.tkk7.com/heweiya/archive/2006/09/29/72764.html@家军@家军Fri, 29 Sep 2006 03:47:00 GMThttp://www.tkk7.com/heweiya/archive/2006/09/29/72764.htmlhttp://www.tkk7.com/heweiya/comments/72764.htmlhttp://www.tkk7.com/heweiya/archive/2006/09/29/72764.html#Feedback1http://www.tkk7.com/heweiya/comments/commentRss/72764.htmlhttp://www.tkk7.com/heweiya/services/trackbacks/72764.html 今天学习了一下RORQ有一些学习经验东西要与大家分享?
lROR加一个右铭--------狭窄心肠的日本物?
首先Q不要一个一个的下蝲Ruby,Rails,使用一键安装,下蝲地址如下Q?
InstantRails-1.3-win
版本说明Qruby 1.8.4 (2005-12-24) [i386-mswin32]
其次Q下载一个目前ؓ止比较好的一个ROR的实践工PRadRails
下蝲地址Q?a target="blank">radrails-0.7.1-win32
接下来,讄一下Radrails的环?
1)、Windows/perferences/Ruby/Installed Inteperters/ ->add ruby所在\径:比如D:\InstantRails\ruby\bin\ruby.exe
2)、Windows/perferences/Rails/Configuration ->Rails pathQ比如D:\InstantRails\ruby\bin\rails
->Rake path:比如D:\InstantRails\ruby\bin\rake l不是bat/cmd
->mogrel path:比如D:\InstantRails\ruby\bin\mongrel_railsl不是bat/cmd

有了如上的配|后Q就只需要和在JAVA当中ANT一样用?成功用过APPFUSE的h׃用害怕了)

看看日本人写的第一?
1),在RadRails中创Z个Rails ProjectQ怎么样会出来一堆的东东?
2),q入DOS命o吧,后面的工序都是这LQ好象买了v的z衣机,W一ơ是送货、第二次是用户回访,W三ơ是.....
q入C的项目处Q运行ruby script\generate controller MyTestQ?
则得到的服务如下Q?
exists app/controllers/
exists app/helpers/
create app/views/my_test
exists test/functional/
create app/controllers/my_test_controller.rb
create test/functional/my_test_controller_test.rb
create app/helpers/my_test_helper.rb
修改一下my_test_controller.rb

代码
       class  MyTestController  <  ApplicationController
      def index
        render_text 
" Hello world!! "
      end 
      end

在浏览器里输入:http://127.0.0.1:3000/my_test/
会出?Hello world!!字样Q?
不过有意思的是你可以输入Qhttp://127.0.0.1:3000/My_test/
http://127.0.0.1:3000/My_Test/
http://127.0.0.1:3000/my_Test/
都可以得到这个|可能没有JAVA哪样严格吧?
3)、还有对数据库的操作Q要配置一个database.yml(好象Log4j的东?
4)、创建数据库表的时候只能够使用复数起名Q比如User׃行,只能够vUsers
下面只要执行几个命o可以用增删改查了?
如下是我的操作,下班了,׃多写了,例子能够说明一切问题:
代码
 1 E:\RORProject\demo>ruby script/generate model user
 2 
 3       exists  app/models/
 4 
 5       exists  test/unit/
 6 
 7       exists  test/fixtures/
 8 
 9       create  app/models/user.rb
10 
11       create  test/unit/user_test.rb
12 
13       create  test/fixtures/users.yml
14 
15       exists  db/migrate
16 
17       create  db/migrate/001_create_users.rb
18 
19 E:\RORProject\demo>ruby script/generate controller user
20 exists app/controllers/
21 exists app/helpers/
22 create app/views/user
23 exists test/functional/
24 create app/controllers/user_controller.rb
25 create test/functional/user_controller_test.rb
26 create app/helpers/user_helper.rb
27 

修改user_controller.rb如下Q?
代码
1    class UserController < ApplicationController
2        scaffold:user
3    end

最后你的浏览器当中输入:http://127.0.0.1:3000/user/list,包括了Ҏ据库表的四个操作.当然你也可以自己定义四个操作的Q意一U?
最后ȝQ?
ROR可能是敏捷开发的一个好实践Q但是我觉得他完成复杂应用进不会有大做ؓQ而至于这一点还需要再做探I。不q现阶段最好的需求就是能够给用户快速的写出一个不完整的DEMOQ这一点ؓ以后打单取得d?


@家军 2006-09-29 11:47 发表评论
]]>
三个JAVA文g完成你的MVC应用http://www.tkk7.com/heweiya/archive/2006/09/29/72760.html@家军@家军Fri, 29 Sep 2006 03:43:00 GMThttp://www.tkk7.com/heweiya/archive/2006/09/29/72760.htmlhttp://www.tkk7.com/heweiya/comments/72760.htmlhttp://www.tkk7.com/heweiya/archive/2006/09/29/72760.html#Feedback3http://www.tkk7.com/heweiya/comments/commentRss/72760.htmlhttp://www.tkk7.com/heweiya/services/trackbacks/72760.html/**======================================...  阅读全文

@家军 2006-09-29 11:43 发表评论
]]>
struts标签,请你走开(pd一)http://www.tkk7.com/heweiya/archive/2006/09/25/71782.html@家军@家军Mon, 25 Sep 2006 08:36:00 GMThttp://www.tkk7.com/heweiya/archive/2006/09/25/71782.htmlhttp://www.tkk7.com/heweiya/comments/71782.htmlhttp://www.tkk7.com/heweiya/archive/2006/09/25/71782.html#Feedback0http://www.tkk7.com/heweiya/comments/commentRss/71782.htmlhttp://www.tkk7.com/heweiya/services/trackbacks/71782.html 在项目开发的很多时候,用户需要更友好Q更Ҏ理解的操作界面,而ؓ了能够达到这U表现界面,struts标签昑־力不从心Q本人经q几个项目的开发当?逐渐的摈弃了struts标签Q而由JSTL来做为JSP面的表达者?
struts标签之死I一 不支持嵌?
看看q种常见的需求吧。一个用户隶属于一个职能部门,比如
目要求 职能部门有五?乱写?
1、企划部
2、网l集成部
3、行攉K
4、营销?
5、品部
目要求 一共有二个员工
1、张? 隶属于行攉K
2、李? 隶属于营销?
而你x张三和李四都列表出来Q显CZؓ如下Q?
姓名 部门名称
张三 行政?
李四 营销?
而且q需要用L列表链接C攚w面当?假如只修攚w?应该如何做呢?
在用struts标签是很隑ց到的Q除非你非常不在意内存的使用(乱写技术性代?
看看JSTL是如何做的吧?
从STRUTS的ACTION当中加蝲两个对象

List GetAllDept  =  UserDAO.GetAllDept(); // 取得所有部?/span>

List GetALLUser 
=  UserDAO.GetAllUser(); // 取得所有用?/span>

request.setAttribute(
" View_Dept " , GetAllDept);

request.setAttribute(
" View_User " , GetALLUser);
在页面当中加入对JSTL的引?span class="regex">
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

然后写代码如下:
<table>

<tr>

<td align="center">

<href="User.do?method=EditUser&UserId=<c:out value='${View_User.UserId}'/>">

<c:out value="${View_User.UserName}" /> </a>

</td>

<td align="center">

<c:forEach items="${View_Dept}" var="View_Dept">

<c:if test="${View_User.Dept.DeptId==View_Dept.DeptId}">

<c:out value="${View_Dept.DeptName}" />

</c:if>                            

</c:forEach>

</td>

</tr>

</table>

其中View_User.Dept.DeptId表示USER表与DEPT表的一个关p?外键)
你就可以看到所昄的列表了?

q有如果在修改用hQ则也与上面的差不多Q首先在ACTION当中加入Q?

String ModifyUserId = request.getParameter("GroupUserId");

if (ModifyUserId == null && ModifyUserId.equals("")) {

//q是出错处理

request.setAttribute(
"UserMsg""User.ValidateUser");

return mapping.findForward("Fail");

}

DynaValidatorForm UserActionForm 
= (DynaValidatorForm) form;

User user 
= UserDAO.GetUser(ModifyUserId);        

List GetAllDept 
= UserDAO.GetAllDept();//取得所有部?/span>

request.setAttribute(
"View_Dept", GetAllDept);

UserActionForm.set(
"User", User);
然后面当中昄如下(部门为LISTBOX),例子当中只显C部?
<html:select property="DeptAsString">            

<c:forEach items="${View_Dept}" var="View_Dept">        

<c:choose>                        

<c:when test="${User.Dept.DeptId==View_Dept.DeptId}">

<option    value="<c:out value='${View_Dept.DeptId}' />"selected>    

<c:out value="${View_Dept.DeptName}" />            

</option>                            

</c:when>                            

<c:otherwise>                        

<option value="<c:out value='${View_Dept.DeptId}' />">        

<c:out value="${View_Dept.DeptName}" /></option>        

</c:otherwise>                        

</c:choose>

</c:forEach>

</html:select>

可以看到HTML的SELECT有一个DeptAsStringQ你可以在FORM当中指定一个STRING的FORM属性?
q样用户的要求就可以完成了?
本次只说明方法,而代码没有经q测试。希望大家多多观注我的BLOGQ下一ơ将臭骂ACTIONFROM不支持的DATEcd及解x法?img src ="http://www.tkk7.com/heweiya/aggbug/71782.html" width = "1" height = "1" />

@家军 2006-09-25 16:36 发表评论
]]>
用二l数l管理好你零q状态、分cd其它常用选项http://www.tkk7.com/heweiya/archive/2006/09/05/67785.html@家军@家军Tue, 05 Sep 2006 05:31:00 GMThttp://www.tkk7.com/heweiya/archive/2006/09/05/67785.htmlhttp://www.tkk7.com/heweiya/comments/67785.htmlhttp://www.tkk7.com/heweiya/archive/2006/09/05/67785.html#Feedback0http://www.tkk7.com/heweiya/comments/commentRss/67785.htmlhttp://www.tkk7.com/heweiya/services/trackbacks/67785.html 本次主要是把一些静态的分类、状态或者其它常用选项使用二维数组理h。如果你是一个用JSTL或者STRUTS做前台表现的话,你就更应该好好关注了.......  阅读全文

@家军 2006-09-05 13:31 发表评论
]]>
如果失去工作会怎么办?http://www.tkk7.com/heweiya/archive/2006/07/24/59769.html@家军@家军Mon, 24 Jul 2006 03:37:00 GMThttp://www.tkk7.com/heweiya/archive/2006/07/24/59769.htmlhttp://www.tkk7.com/heweiya/comments/59769.htmlhttp://www.tkk7.com/heweiya/archive/2006/07/24/59769.html#Feedback1http://www.tkk7.com/heweiya/comments/commentRss/59769.htmlhttp://www.tkk7.com/heweiya/services/trackbacks/59769.html    因ؓ工作当中的争执,而让领导失去了面子?Q我在郁闷当中,Z么呀!好事反而成了坏事?br />    领导的报复心理,让我失去了W效,所以我感觉到胦q不佟뀂我很想跛_q个鬼圈,是不是能够改善一下自ql济收入呢?正在想离开q个公司......
    发现自己的Y肋:UML整体设计(最好有代码生成)和XP敏捷开发。近期需要加两方面的学习Q可以以权限设计为UML做ؓ训练(生成代码Q?)Q以CRM->VtigerCRMZ务主U,做一个XP开发,不过VtigerCRM的表设计真是很糟p,Indiea人呀?br />    今年的公司很乱,是一个很p糕的管理层Q可能我以后dq个公司后才感觉到领D的“聪明才智”吧!完全在内耗当中生存。我已经被领导国边缘化,我会在灰色的区域彷L很长的时_或许公司另有高h吧,我已l被领导逐渐忽视Q自己发光的旉也只有一q_好象知了一栗?br />    “h贉|自知之明”,如果领导没有重视Q只是ؓ了发挥自q最低性能的话Q我完全有很多的旉来学习知识,我很庆幸自己和开源代码有很大的信心,我将在以后的旉里,为开源界展示自己的能力?br />    首先要把自己学习到的知识透明化,其次我会在开源中型的CRM软g当中做出自己应有的A献?br />

@家军 2006-07-24 11:37 发表评论
]]>
struts表单 vs JSTL表现之多条g查询CZhttp://www.tkk7.com/heweiya/archive/2006/07/21/59383.html@家军@家军Fri, 21 Jul 2006 03:20:00 GMThttp://www.tkk7.com/heweiya/archive/2006/07/21/59383.htmlhttp://www.tkk7.com/heweiya/comments/59383.htmlhttp://www.tkk7.com/heweiya/archive/2006/07/21/59383.html#Feedback1http://www.tkk7.com/heweiya/comments/commentRss/59383.htmlhttp://www.tkk7.com/heweiya/services/trackbacks/59383.html    如果你是高手Q你q道这个标题有误,是的Qstruts表单与JSTL表现没有可比性,但是如果我们要在实现一个多条g的查询页面时Q这个比较就比较有效了?br />    我不妨比较一下利用struts表单的查询实??利用JSTL做ؓ表现而实现的查询功能有什么不同,让读者寻其方ѝ?br />    CZ说明Q?br />    用户?USER
    username  用户名称
    loginid   dID
    sex       性别
    一、利用struts表单的查询实?br />        实现步骤Q?br />        创徏多条件的序列化对?java)->在struts.config当中xactionform->Action当中实现->输出l果
       
    /** The value of the simple userName property. */
    
private java.lang.String userName;
    
/** The value of the simple loginId property. */
    
private java.lang.String loginId;
    
/** The value of the simple sex property. */
    
private java.lang.String sex;
    
/**
     * Return the value of the USER_NAME column.
     * 
@return java.lang.String
     
*/
    
public java.lang.String getUserName()
    {
        
return this.userName;
    }

    
/**
     * Set the value of the USER_NAME column.
     * 
@param userName
     
*/
    
public void setUserName(java.lang.String userName)
    {
        
this.userName = userName;
    
/**
     * Return the value of the LOGIN_ID column.
     * 
@return java.lang.String
     
*/
    
public java.lang.String getLoginId()
    {
        
return this.loginId;
    }

    
/**
     * Set the value of the LOGIN_ID column.
     * 
@param loginId
     
*/
    
public void setLoginId(java.lang.String loginId)
    {
        
this.loginId = loginId;
    }
    
/**
     * Return the value of the sex column.
     * 
@return java.lang.String
     
*/
    
public java.lang.String getSex()
    {
        
return this.sex;
    }

    
/**
     * Set the value of the sex column.
     * 
@param loginId
     
*/
    
public void setSex(java.lang.String sex)
    {
        
this.sex = sex;
    }
<!-- struts_fonfig -->
       
<form-bean name="UserActionForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="userCondition" type="com.antbee.searchCondition.UserFindCondition" />        
        
</form-bean>
Action当中
DynaValidatorForm UserForm = (DynaValidatorForm) form;
        UserFindCondition Condition 
= (UserFindCondition) UserActionForm
                .get(
"userCondition");// 取得查询条g
List user = userManager.find(Condition,
                (iCurPageNo 
- 1* pageCon.PAGE_SIZE, pageCon.PAGE_SIZE);//呵呵Q加入了hibernate的分?/span>
具体实现Q?br />
    public List find(UserFindCondition Condition, int begin,
            
int count) {
        StringBuffer sql 
= new StringBuffer("from User as a where 1=1");              
       
if (Condition != null) {
            makeSql(sql, shipmentFindCondition);
        }
        String fsql 
= sql.toString();
        Query query 
= this.getSession().createQuery(fsql);
        
if (Condition != null) {
            setParameter(query, Condition);
        }
        query.setFirstResult(begin);
        query.setMaxResults(count);
        List tt 
= query.list();
        
return tt;
    }

--
    /**
     * Ҏ条g生成一个sql语句
     *
     * @author ?br />     * @param sql
     *            初始的sql语句(一般ؓselect a from A as a where 1=1)
     * @param condition
     *            查询的条?br />     * @return
     * @version 1.0
     */
private
 void makeSql(StringBuffer sql, UserFindCondition condition) {
        
if (condition.getUsername() != null
                
&& !condition.getUsername().toString().equals("")) {
            sql
                    .append(
" and a.username like :username");
        }

        
if (condition.getLoginid() != null
                
&& !condition.getLoginid(().equals("")) {
            sql
                    .append(
" and a.loginid( = :loginid(");
        }

        
if (condition.getSex() != null
                
&& !condition.getSex().equals("")) {
            sql.append(
" and a.sex = :sex");
        }


    }

    
/**
     * Ҏ条g讄query的?br />     * 
     * 
@author ?br />     * @param query
     *            一个hibernate的Query对象
     * 
@param condition
     *            查询的条?br />     * 
@return
     * 
@version 1.0
     
*/
    
private void setParameter(Query query, UserFindCondition condition) {

        
if (condition.getUsername() != null
                
&& !condition.getUsername().equals("")) {
            query.setString(
"username""%" + condition.getUsername()
                    
+ "%");
        }

        
if (condition.getLoginid() != null
                
&& !condition.getLoginid().equals("")) {
            query.setString(
"loginid", condition.getLoginid());
        }

        
if (condition.getSex() != null
                
&& !condition.getSex().equals("")) {
            query.setString(
"sex", condition.getSex());
        }     

    }

呵呵Q笑Mh了,q个Ҏ很通用Q我才在我的W二个项目当中才用到Q真是可惜,当然了,使用Actionform有一个毛病就是对datecd要{换成STRINGcd来处理,q是actionform的一个死I。还有对Actionform不能够重|,只能够回来从前。不知道q群设计者怎么想的Q真是由于这一点,所以我们有必要使用最原始的方法来解决问题了。用页面当中的inputQ我们来拼request如何Q?br />   二、利用JSTL做ؓ表现而实现的查询功能
     步骤Q在JSP面布置很多的inputQ当Ӟ你可以加入value了?省略?..)
           创徏查询条g的序列化对象(同样user.java)
           在action当中gcondition了,做ؓ查询条gQ后面的处理cdW一U方式?br />
     UserSearchCondition userSearchCondition = null;
     userSearchCondition 
= makeUserSearchCondition(request);

private UserSearchCondition makeUserSearchCondition(HttpServletRequest request) throws Exception{
       
UserSearchCondition userSearchCondition = new OrderSearchCondition();
        String username
= request.getParameter("Username");
        String loginid
= request.getParameter("Loginid");
        String sex
= request.getParameter("Sex");  
       

                
        
if(username!= null && !username.trim().equals("")){
           
usernameSearchCondition.setUsername(username);
        }
        
        
if(loginid  != null && !loginid.trim().equals("")){
            userSearchCondition.set
Loginid (loginid );
        }
        
        
if(sex != null && !sex.trim().equals("")){        
            userSearchCondition.setSex(
sex);
        }      

        
        
return userSearchCondition;
    }

     以后的方法,我就不用再做举例了吧Q可以参考如上第一U方法的实现.
     W二U方法的好处是Q在面上比较好控制Q比如重|,又比如日期性数据等?br />     (所有过E当中的代码没有l过试Q只是说明这U方法而已)


@家军 2006-07-21 11:20 发表评论
]]>
hibernate的gq加载通用Ҏhttp://www.tkk7.com/heweiya/archive/2006/07/21/59366.html@家军@家军Fri, 21 Jul 2006 02:09:00 GMThttp://www.tkk7.com/heweiya/archive/2006/07/21/59366.htmlhttp://www.tkk7.com/heweiya/comments/59366.htmlhttp://www.tkk7.com/heweiya/archive/2006/07/21/59366.html#Feedback2http://www.tkk7.com/heweiya/comments/commentRss/59366.htmlhttp://www.tkk7.com/heweiya/services/trackbacks/59366.html呵呵Q在忙一个项目,潜水很久Q现在冒个Q?br />(本文适用在struts+spring+hibernate3上做开发的虫虫?
cdQHibernateUtil

package com.antbee.j2eemodel.util;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Collection;
import java.util.Iterator;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class HibernateUtil extends HibernateDaoSupport {

/**
* 初始化POJOc?br />* 
@author @家军
@param object POJO对象
@param methodName Ҏ名称
@return
@version 1.0
*/
public void initialize(Object object, String methodName) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {

String[] methodArray 
= methodName.split("\\.");
Method method 
= null;
Object initializeObject 
= object;

if(methodArray.length == 1){
this.getHibernateTemplate().lock(initializeObject, org.hibernate.LockMode.NONE);
method 
= object.getClass().getMethod(methodArray[0], new Class[] {});
initializeObject 
= method.invoke(initializeObject, new Object[] {});
this.getHibernateTemplate().initialize(initializeObject);
}
else{
for(int i=0;i<methodArray.length;i++){
method 
= initializeObject.getClass().getMethod(methodArray[i], new Class[] {});
initializeObject 
= method.invoke(initializeObject, new Object[] {});
}
this.getHibernateTemplate().lock(initializeObject, org.hibernate.LockMode.NONE);
this.getHibernateTemplate().initialize(initializeObject);
}
}

/**
* 初始化POJOc?br />* 
@author @家军
@param object POJO对象
@param methodName Ҏ名称数组
@return
@version 1.0
*/
public void initialize(Object object, String methodName[])
throws SecurityException, NoSuchMethodException,
IllegalArgumentException, IllegalAccessException, InvocationTargetException {

for (int i = 0; i < methodName.length; i++) {
String[] methodArray 
= methodName[i].split("\\.");
Method method 
= null;
Object initializeObject 
= object;

if(methodArray.length == 1){
this.getHibernateTemplate().lock(initializeObject, org.hibernate.LockMode.NONE);
method 
= object.getClass().getMethod(methodArray[0], new Class[] {});
initializeObject 
= method.invoke(initializeObject, new Object[] {});
this.getHibernateTemplate().initialize(initializeObject);
}
else{
for(int j=0;j<methodArray.length;j++){
method 
= initializeObject.getClass().getMethod(methodArray[j], new Class[] {});
initializeObject 
= method.invoke(initializeObject, new Object[] {});
}
this.getHibernateTemplate().lock(initializeObject, org.hibernate.LockMode.NONE);
this.getHibernateTemplate().initialize(initializeObject);
}
}

}

/**
* 初始化POJOc?br />* 
@author @家军
@param object POJO对象
@return
@version 1.0
*/
public void initialize(Object object) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
this.getHibernateTemplate().lock(object, org.hibernate.LockMode.NONE);
this.getHibernateTemplate().initialize(object);
}

/**
* 初始化POJOc?br />* 
@author @家军
@param collection POJO对象集合
@param methodName Ҏ名称数组
@return
@version 1.0
*/
public void initialize(Collection collection, String methodName[])
throws SecurityException, NoSuchMethodException,
IllegalArgumentException, IllegalAccessException, InvocationTargetException {

for(Iterator i=collection.iterator();i.hasNext()Wink{
Object object 
= i.next();
this.initialize(object,methodName);
}
}

/**
* 初始化POJOc?br />* 
@author @家军
@param collection POJO对象集合
@param methodName Ҏ名称
@return
@version 1.0
*/
public void initialize(Collection collection, String methodName)
throws SecurityException, NoSuchMethodException,
IllegalArgumentException, IllegalAccessException, InvocationTargetException {

for(Iterator i=collection.iterator();i.hasNext()Wink{
Object object 
= i.next();
this.initialize(object,methodName);
}
}

q个Ҏ的好外是Q可以不在hbm.xml的文件当中,指定为lazy=trueq个模式Q可以直接用。用方法如下:
如果你用SPRINGQ则需要把hibernateUtil注入其中Q?
 <bean id="hibernateUtilTarget" class="com.antbee.j2eemodel.util.HibernateUtil">
<property name="sessionFactory">
<ref local="mssqlSessionFactory" />
</property>
</bean>

<bean id="hibernateUtil" parent="BaseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="target">
<ref local="hibernateUtilTarget" />
</property>
</bean>
<!--配置基础事务-->
<bean id="BaseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
<property name="transactionManager">
<ref bean="mssqltransactionManager" />
</property>
<property name="proxyTargetClass">
<value>true</value>
</property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean> 

使用CZQ?
如果你用STRUTSQ则需要这P
List what_ur_view = XXXManager.find(.);//取得你要展示的对?br />//如果q个对象当中有gq加载的对象(SET)Ӟ则需要如下加载就?/span>
this.hibernateUtil.initialize(what_ur_view, "getTbShipmentSale");
//其中getTbShipmentSale是其对象(SET也可以操? 

在页面显C的时候,你就可以使用JSTL如下表述Q?
<c:out value="${what_ur_view.tbShipmentSale.goodsReceivePersonPhone}" />//呵呵Q是不是很爽呀。?/span>

同样的方法,我们也可以对一个SET在页面进行显C,Ҏ如下Q?
<c:forEach items="${what_ur_view.tbShipmentProductMappingSet}" var="ProductMapping" varStatus="status">
<c:out value="${ProductMapping.productNum}" />
<c:out value="${ProductMapping.tbOutOfWarehouse.outOfWarehouseNum}" />
</c:forEach>
//呵呵Q支持多U嵌套, 

在ACTION当中则需要加?div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">hibernateUtil.initialize(what_ur_view.getTbShipmentProductMappingSet(),
new String[] { "getTbProduct""getTbOutOfWarehouse",
"getTbProductConfigure" }); 呵,如果你要是在HIBERNATE当中使用Q这个就太简单了吧?

怎么P呵呵呵,
从此Q我对STRUTS的标{深恶痛l,而对JSTL情有独钟了?

@家军 2006-07-21 10:09 发表评论
]]>
成功是一U病态的坚持!http://www.tkk7.com/heweiya/archive/2006/07/19/59017.html@家军@家军Wed, 19 Jul 2006 08:35:00 GMThttp://www.tkk7.com/heweiya/archive/2006/07/19/59017.htmlhttp://www.tkk7.com/heweiya/comments/59017.htmlhttp://www.tkk7.com/heweiya/archive/2006/07/19/59017.html#Feedback0http://www.tkk7.com/heweiya/comments/commentRss/59017.htmlhttp://www.tkk7.com/heweiya/services/trackbacks/59017.html   在年前的时候我曄非常看好compiere的应用,想不C天再看看国内使用的Ş势,长三角和珠三角的q泛应用Q还有ORACLE免费数据库的推出Q更加印证了我错误的做法?br />   一个h最重要的事情就是三个字Q做军_?br />   一个h惌成功Q尤其像我这样不甘愿l别人打工又有很多想法的人,除非是一U病态的坚持才能够取得成功?br />   我很讨厌公司现行的CRMpȝQ简单的说一句就是:直就是一个糊人的、丑陋的MISpȝQ一点设计思想都没有,一点品理念都没有。最重要的设计者在拼命的逃脱自己的责任,开发者在忍受莫大的痛苦,业务在每一个开发者思想里扭?.....唉,xZҎ间来都难?br />   我要在以后的时候里Q一则增加自q业务能力Q以compiere的应用ؓ主;二则要增强我的技术能力,? vTigerCRM本,做一个J2EE的品移植?br />   在今q年底以前,自己必须要做到对compiere的应用熟l,能够完成 vTigerCRM的J2EE实现。所以自己最重要要做的事是:旉安排Q?br />

@家军 2006-07-19 16:35 发表评论
]]>
转摘:从一个笑话看软g开发管?/title><link>http://www.tkk7.com/heweiya/archive/2006/05/15/46226.html</link><dc:creator>@家军</dc:creator><author>@家军</author><pubDate>Mon, 15 May 2006 07:53:00 GMT</pubDate><guid>http://www.tkk7.com/heweiya/archive/2006/05/15/46226.html</guid><wfw:comment>http://www.tkk7.com/heweiya/comments/46226.html</wfw:comment><comments>http://www.tkk7.com/heweiya/archive/2006/05/15/46226.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/heweiya/comments/commentRss/46226.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/heweiya/services/trackbacks/46226.html</trackback:ping><description><![CDATA[ <p>来自于:http://blog.csdn.net/Raptor/archive/2006/05/13/727299.aspx<br /></p> <p>关于软g开发的W话有很多,下面q个是我刚在QQ里的看到的Q?br /></p> <blockquote>1. E序员写认ؓ没有Bug的代码?br />2. 软g试Q发C20个Bug?br />3. E序员修改了10个BugQƈ告诉试l另?0个不是Bug?br />4. 试l发现其?个改动根本无法工作,同时又发C15个新Bug?br />5. 重复3ơ步?和步??br />6. 鉴于市场斚w的压力,Z配合当初制定的过分乐观的发布旉表,产品l于上市了?br />7. 用户发现?37个新Bug?br />8. 已经领了目奖金的程序员不知跑到哪里M?br />9. 新组建的目l修正了差不多全?37个BugQ但又发C456个新Bug?br />10. 最初那个程序员从斐给饱受拖欠工资之苦的测试组寄来了一张明信片。整个测试组集体辞职?br />11. 公司被竞争对手恶意收购。收购时QY件的最l版本包?83个Bug?br />12. 新CEO走马上Q。公叔R了一名新E序员重写该软g?br />13. E序员写认ؓ没有Bug的代码?/blockquote> <p>要我_如果真有q样的公司,不倒闭对不起h民?/p> <p>q个W话从程序员开始,到程序员l束Q从头到N在说E序员的不是。但是我要说的是Q这完全是管理者的p|Q从整个q程中,看不CQ何管理工作。这U管理者不?span style="font-weight: bold;">无知无能</span>Q还?span style="font-weight: bold;">无?/span>——将自己的失败责Ll程序员?/p> <p>1、程序员凭什么证明他的代码没有BUGQ有Test case吗?有Code review吗?q个环节理~失?/p> <p>2、测试发现BUG有进行BUG理吗?有跟t吗Q这个环节管理缺失?/p> <p>3、凭什么证明程序员已经把那10个BUG修改好了Q另10个又Z么不是BUGQBUG的评h准难道是E序员说了算Q这个环节管理缺失?/p> <p>4?个不能工作的BUG修改问题有没有追I责任?增加新BUG是修改过E中不可避免的事情,但是如果有有效的单元试机制Q可以大大减这U情c这个环节管理缺失?/p> <p>5、P代是正常的,但是问题处理于发散而不是收敛发展,可见没有有效的管理调控。这个环节管理缺失?/p> <p>6、过于乐观的旉表和不可能达到的最后期限,都表现出理者的无知和无能。而在q样的情况下推出产品Q那是无知者无畏了?/p> <p>7、这是对用户的不负责任,理者要负最大的责Q?/p> <p>8、这L情况q能发项目奖金,只能说管理者不是一般的愚蠢?/p> <p>9、管理工作没有Q何的改进Q问题仍然处于发散P代状态。管理工作依然没有到位?/p> <p>10、拖Ơ测试部门工资体现出理者对质量理工作的忽视以及对人力资源理斚w一无所知?/p> <p>11、送被收购者两个字Q活该。送收购者两个字Q瞎眹{?/p> <p>12、可见新理者与原管理者半斤八两,都没有认识到问题的根本所在。不q也只有q样的管理者才会作出收购这U公司的决策?/p> <p>13、历史的重演是必然的?/p> <p>一个正常的企业或是目Q其q作必须应该是@环向上进行的。而保障这U运行的工作是理。而管理工作的主要内容是控制Q包括控制@环的节奏——不能太快也不能太慢Q控制发展的方向——只能向上不能向下,控制q作的稳定——不能大起大落或时聚时散{?/p> <p>而这一切,在这个例子中都看不到?/p> <p>?q个W话的例子中Q一切都是以开发工作在驱动Q这首先是一个方向性错误,产品是ؓ用户服务的,当然应该是以用户和市Z为驱动,q且l合自n的能力最l?定工作的重炏V这一错误折射出管理者对被管理的内容很不了解Q只好Q由比较了解的E序员摆布——事实上他们除了技术,q不会了解更多?/p> <p> <span style="font-weight: bold;">一个管理者如果对自己所理的内容不了解Q他׃可能理得好</span>?/p> <p>q是一件毫无疑问的事,可是国内的Y件业gL不相信这一炏V中国Y件业中流毒最q谎言之一是Q?/p> <blockquote>理者只要懂理可以,不需要懂技术?/blockquote> <p>其实q不q是那些无知无能无ȝ理者ؓ了骗p编出来的,怿q句话的人必付出金q代h?/p> <p>?ơ是质量理。基本的质量理常识告诉我们Q每ơ@环结束前Q最重的工作是ȝ改进。只有这h能保证@环运作是向上发展Q而不是失L制地向下发展?也只有有效的质量理Q才能保证P代过E是收敛发展Qƈ最l达到目标。但在这个例子中Q这个部分显然是~失的——其中虽然有试部门Q但是他们的作用仅仅 是质量管理中的质量检环节,理部分q是~失的?/p> <p>然后是h力资源管理。Y件开发是一劳动密集型的工作,虽然q是脑力力_Q但同样意味着人在因素在其中占有决定性的C。而例子中未改完BUG的程 序员拿到目奖金Q而同栯苦工作的试人员却被拖欠薪资Q除了表现出理者对他们的工作内容的不了解,以及对质量管理工作的不重视以外,q表现出理?完全不会hQ这是一U谋杀团队的行为——谋杀一个团队远比徏设要Ҏ得多?/p> <p>最后,q个p|的管理者把他的l历~成q个W话Q让大家看到他被E序员们宛_多惨Q把E序员妖化Z骗子。但只要E懂理的h单分析一下就可以看出来,只不q是q个人的无知和无能造成了他现在的结果,而把责Q推给别h的行为更是表现出他的无者R?/p> <p>作ؓw居高位的管理者,如果q应该承担的责Q都要推卸Q他们还能胜M么事情呢Q?br /></p> <img src ="http://www.tkk7.com/heweiya/aggbug/46226.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/heweiya/" target="_blank">@家军</a> 2006-05-15 15:53 <a href="http://www.tkk7.com/heweiya/archive/2006/05/15/46226.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://alodaba.com" target="_blank">鶹ɫۺվ</a>| <a href="http://sese3366.com" target="_blank">͵͵Ʒ</a>| <a href="http://dslygc.com" target="_blank">ѵһɫƬ</a>| <a href="http://rushiruhua.com" target="_blank">99Ƶ߾Ʒѹۿ6</a>| <a href="http://44jjy.com" target="_blank">һ2342021ѹۿ</a>| <a href="http://ahzlgj.com" target="_blank">þþžѾƷ6</a>| <a href="http://ganbadei.com" target="_blank">ĻƵ</a>| <a href="http://www-070755.com" target="_blank">ѴƬ߹ۿyw</a>| <a href="http://kypbuy.com" target="_blank">ɫ7777Ƶ߹ۿ</a>| <a href="http://littlevv.com" target="_blank">ѾƷ͵Բ </a>| <a href="http://guoyit.com" target="_blank">þ޾Ʒϵַ</a>| <a href="http://xxxck.com" target="_blank">Ʒ޳AA߹ۿ</a>| <a href="http://606059.com" target="_blank">AVþþþվ</a>| <a href="http://1314a.com" target="_blank">޹Ʒһ߹ۿ </a>| <a href="http://5c7m.com" target="_blank">˹ƷƵ</a>| <a href="http://lfhotline.com" target="_blank">avѸ߳ˮ</a>| <a href="http://jmzc888.com" target="_blank">AƬѹۿ</a>| <a href="http://www66susu.com" target="_blank">պ伤Ƶ߲</a>| <a href="http://gdfcjzx.com" target="_blank">91ۿ</a>| <a href="http://hucgjc.com" target="_blank">97ȾþƵƷ99</a>| <a href="http://864007.com" target="_blank">þþѹۿ</a>| <a href="http://zhaoxinwo.com" target="_blank">СƵ߹ۿ</a>| <a href="http://339258.com" target="_blank">޾Ʒ岻</a>| <a href="http://www-83118.com" target="_blank">޹AVרAV</a>| <a href="http://bjmyhfc.com" target="_blank">ŮƵ</a>| <a href="http://popodino.com" target="_blank">츾AVպ츾</a>| <a href="http://kkjk123.com" target="_blank">¼ҳ</a>| <a href="http://zddzbp.com" target="_blank">þ㽶Ƶ</a>| <a href="http://hbgksy.com" target="_blank">ëƬȫ</a>| <a href="http://schygfz.com" target="_blank">۲ӰԺѹۿ</a>| <a href="http://gstywy.com" target="_blank">ɫ޾ƷĻ</a>| <a href="http://mp4888.com" target="_blank">޸Ƶ</a>| <a href="http://wcnmgb.com" target="_blank">պƷ-</a>| <a href="http://kyqp0022.com" target="_blank">˾þþùۿëƬ</a>| <a href="http://815389.com" target="_blank">պƷƷƵ߹ۿ </a>| <a href="http://bovch.com" target="_blank">һ˿wwwƵ߹ۿ</a>| <a href="http://519vip.com" target="_blank">**aaaaaëƬ</a>| <a href="http://eee94.com" target="_blank">gavѲƵ</a>| <a href="http://changfafangzhi.com" target="_blank">4338ȫɫվ</a>| <a href="http://pchbgs.com" target="_blank">þþþþþAv</a>| <a href="http://xbooktxt.com" target="_blank">ɫ18վWWW߲</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>