2006年8月4日

  • addDay(Date aDate, int iDay) : Date
  • addMonth(Date aDate, int iMonth) : Date
  • addQuarter(Date aDate, int iQuarter) : Date
  • addWeek(Date aDate, int iWeek) : Date
  • addYear(Date aDate, int iYear) : Date
  • getDayOfMonth(Date aDate) : int
  • getDayOfWeek(Date aDate) : int
  • getDayOfYear(Date aDate) : int
  • getDaysBt(Date dFrom, Date dTo) : int
  • getFirstDayOfMonth(Date aDate) : Date
  • getFirstDayOfQuarter(Date aDate) : Date
  • getFirstDayOfWeek(Date aDate) : Date
  • getFirstDayOfYear(Date aDate) : Date
  • getLastDayOfMonth(Date aDate) : Date
  • getLastDayOfQuarter(Date aDate) : Date
  • getLastDayOfWeek(Date aDate) : Date
  • getLastDayOfYear(Date aDate) : Date
  • getMonth(Date aDate) : int
  • getQuarter(Date aDate) : int
  • getYear(Date aDate) : int
  • main(String[] args) : void
  • trunc(Date aDate, String aFormat) : Date
posted @ 2008-01-29 09:53 BlogCY 阅读(280) | 评论 (0)编辑 收藏
 

公司经常更换框架,好不容易写好的业务模型经常要推倒重来。
为此考虑将业务模型独立出来,不受框架的影响。
具体考虑如下:
1.接口定义
DBConnection.java
public interface DBConnection {
  PreparedStatement prepareStatement(String aSql);
 ....
  void free();
  void commit();
  void rollback();
}
DBContext.java
public interface DBContext {
  DBConnection newDBConnection();
}
2.模型实现
public class ActualFlow {
  DBContext dbContext=null;
  public ActualFlow() {
  }
  public void init(DBContext aContext){
    dbContext=aContext;
  }
  public int calculate(String aBranchId,String aYear,String aMonth,String aUserId){
    int iRtn=-1
    PreparedStatement objState=null;
    ResultSet objSet=null;
    DBConnection objCon=null;
    try {
      objCon=dbContext.newDBConnection();
      objState=objCon.prepareStatement("具体的sql语句");
      //业务模型操作......

    }
    catch (Exception ex) {
      ex.printStackTrace();
      iRtn=-1;
    }finally{
      if (objSet!=null) {
        try {
          objSet.close();//关闭结果集合
        }
        catch (Exception ex) {
          ex.printStackTrace();
        }
      }
      if (objState!=null) {
        try {
          objState.close();//关闭statement
        }
        catch (Exception ex1) {
          ex1.printStackTrace();
        }
      }
      if (objCon!=null) {
        objCon.free();//释放连接
      }
    }
    return iRtn;
  }
}
3.在具体的开发框架下面
   定义EAPDBContext 实现 DBContext
   如下方式复用模型:
      ActualFlow objActualFlow=new ActualFlow();
      objActualFlow.init(new EAPDBContext("actualFlow"));
      int i=objActualFlow.calculate(this.m_branchID,this.m_year,this.m_month);

不知道是否合理,先练习练习

posted @ 2006-08-04 12:52 BlogCY 阅读(624) | 评论 (0)编辑 收藏