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 閱讀(286) | 評論 (0)編輯 收藏
           

          公司經(jīng)常更換框架,好不容易寫好的業(yè)務(wù)模型經(jīng)常要推倒重來。
          為此考慮將業(yè)務(wù)模型獨立出來,不受框架的影響。
          具體考慮如下:
          1.接口定義
          DBConnection.java
          public interface DBConnection {
          ? PreparedStatement prepareStatement(String aSql);
          ?....
          ? void free();
          ? void commit();
          ? void rollback();
          }
          DBContext.java
          public interface DBContext {
          ? DBConnection newDBConnection();
          }
          2.模型實現(xiàn)
          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語句");
          ????? //業(yè)務(wù)模型操作......

          ??? }
          ??? catch (Exception ex) {
          ????? ex.printStackTrace();
          ????? iRtn=-1;
          ??? }finally{
          ????? if (objSet!=null) {
          ??????? try {
          ????????? objSet.close();//關(guān)閉結(jié)果集合
          ??????? }
          ??????? catch (Exception ex) {
          ????????? ex.printStackTrace();
          ??????? }
          ????? }
          ????? if (objState!=null) {
          ??????? try {
          ????????? objState.close();//關(guān)閉statement
          ??????? }
          ??????? catch (Exception ex1) {
          ????????? ex1.printStackTrace();
          ??????? }
          ????? }
          ????? if (objCon!=null) {
          ??????? objCon.free();//釋放連接
          ????? }
          ??? }
          ??? return iRtn;
          ? }
          }
          3.在具體的開發(fā)框架下面
          ?? 定義EAPDBContext 實現(xiàn) DBContext
          ???如下方式復(fù)用模型:
          ????? 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 閱讀(629) | 評論 (0)編輯 收藏
           
          主站蜘蛛池模板: 宿迁市| 安阳市| 上思县| 永川市| 白银市| 丰顺县| 汤原县| 新田县| 泸水县| 大同县| 调兵山市| 石渠县| 文昌市| 冷水江市| 阿坝县| 万盛区| 马边| 吉木乃县| 汉阴县| 宾阳县| 夏津县| 广德县| 本溪| 荆门市| 和林格尔县| 怀安县| 江川县| 盘锦市| 赤水市| 河间市| 岗巴县| 鄂托克前旗| 会理县| 乌鲁木齐市| 光山县| 苍梧县| 班玛县| 峨山| 交城县| 太仓市| 康平县|