xih  
          日歷

          導航

          常用鏈接

          留言簿(2)

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           

          2010年9月2日

          在查詢時報下面的錯誤,使用的是hibernate,oracle數據庫,并做了集群
          WARN - SQL Error: 17002, SQLState: null
          ERROR - Io 異常:Software caused connection abort: recv failed
          請問是什么原因造成的,謝謝!

          posted @ 2010-09-02 10:37 費思量 閱讀(514) | 評論 (0)編輯 收藏

          2009年4月1日

          ???參考hibernate對hql語句的解析,寫了對SQL語句的解析,并生成相應的對象。主要為了自定義查詢條件進行查詢和對查詢結果進行二次查詢使用。目前只支持簡單的sql語句的解析,不支持子查詢的解析。在壓縮包中只給出了解析程序,沒有包括對應的查詢對象。鏈接:程序源碼
          posted @ 2009-04-01 11:34 費思量 閱讀(422) | 評論 (0)編輯 收藏

          2009年3月30日

          項目要求能獲得CONNECTION便于對數據庫的操作,并要求能與spring中的事務處于同一事務中。實現:
          1.定義SanHibernateTransactionManager類,繼承spring中的
          HibernateTransactionManager,便于獲得HibernateTransactionObject。把這個類注入到spring容器中。
          < bean? id ="transactionManager"
          ????????class
          ="com.san.tools.hibernate.SanHibernateTransactionManager" >
          ????????
          < property? name ="sessionFactory" >
          ????????????
          < ref? bean ="sessionFactory" />
          ????????
          </ property >
          ????
          </ bean >

          ?
          public?class?SanHibernateTransactionManager?extends?HibernateTransactionManager{

          ????
          public?Object?getTransactionObj(){
          ????????
          return?super.doGetTransaction();
          ????}

          ????
          ????????
          ????
          public?boolean?existsTransaction(Object?transaction){
          ????????
          return?super.isExistingTransaction(transaction);
          ????}

          ????
          ????
          public?Session?getSession(){
          ????????
          return?SessionFactoryUtils.getSession(this.getSessionFactory(),?true);
          ????}

          ????
          ????
          public?Session?getCurrentSession(){
          ????????HibernateTransactionObject?obj?
          =?(HibernateTransactionObject)this.getTransactionObj();
          ????????
          return?obj.getSessionHolder().getSession();
          ????}

          }

          2.開始事務。
          public ? void ?beginTransaction()? throws ?SQLException {
          ????????
          // TransactionDefinition.PROPAGATION_REQUIRED:支持當前的事務,如果不存在就創建一個新的。

          ????????DefaultTransactionDefinition?transactionDef? = ? new ?DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED);
          ????????
          // 創建一個TransactionStatus

          ????????TransactionStatus?transactionStatus? = ?transactionManager.getTransaction(transactionDef);
          ????????
          //
          取得綁定到當前線程上的session。從HibernateTransactionObject中獲得,這里修改了spring中HibernateTransactionManager.java文件,
          ????????
          // 將private?HibernateTransactionObject改為protected?HibernateTransactionObject

          ????????Session?session? = ?transactionManager.getCurrentSession();
          ??????
          if (session? != ? this .session)
          {
          ????????????System.err.println(
          " session不是同一對象 "
          );
          ????????}

          ????????
          // 將transactionStatus保存到集合中
          ???????? this .transactionStatuss.add(transactionStatus);
          ????????
          this .beginTransaction? = ? true
          ;
          ????}
          3.提交事務
          public ? void ?commit()? throws ?HibernateException,SQLException {
          ????????
          // 循環TransactionStatus集合,直至第一個transactionStatus被提交時,才真正提交

          ???????? for ( int ?i? = ?transactionStatuss.size()? - ? 1 ;i? >= ? 0 ;i -- ) {
          ????????????DefaultTransactionStatus?transactionStatus?
          =
          ?(DefaultTransactionStatus)transactionStatuss.get(i);
          ????????????transactionManager.commit(transactionStatus);
          ????????}

          ????????transactionStatuss.clear();
          ????}
          4.回滾事務
          public?void?rollBack(){
          ????????
          for(int?i?=?transactionStatuss.size()?-?1;i?>=?0;i--){
          ????????????DefaultTransactionStatus?transactionStatus?
          =?(DefaultTransactionStatus)transactionStatuss.get(i);
          ????????????transactionManager.rollback(transactionStatus);
          ????????}

          ????????transactionStatuss.clear();
          ????}
          ???????貼出這段代碼一是為了共享一點所得,二是希望能指出中間有什么不正確的地方(心里不是很有底)
          posted @ 2009-03-30 15:32 費思量 閱讀(540) | 評論 (1)編輯 收藏

          2007年7月16日

           

          function doPrint(servlet, form) {
              
          var oWord = new ActiveXObject("Word.Application");
              
          var oDoc = oWord.Documents.Add("",0,1);
              
          var strFields = form.elements["gFields"].value;
              
          var fields = strFields.split(",");
              oWord.Selection.TypeParagraph();    
              oWord.Selection.Style 
          = oDoc.Styles("正文");
              
          var wdPageBreak = 7;
              oWord.Selection.InsertBreak(wdPageBreak);        
          //生成下一頁,用于產生正文部分。當前頁用于生成目錄
              for(var i=0;i<fields.length;i++){
                  form.elements[
          "gFields"].value = fields[i];
                  
          var oRange = oWord.Selection.Range;
                  pastObj(servlet,form,oWord);
                  
              }

              oWord.Selection.TypeBackspace();        
          //去掉最后一頁
              oWord.Selection.HomeKey(6);        //返回首頁的第一行
              oWord.Selection.Font.Bold = 9999998;    //加粗
              oWord.Selection.Font.Size = 16;        //設置字體大小(3號)
              oWord.Selection.TypeText("目錄");
              oWord.Selection.ParagraphFormat.Alignment 
          = 1;        //居中
              oWord.Selection.TypeParagraph();        //換行
              oWord.Selection.Style = oDoc.Styles("正文");        //樣式設為正文
              oWord.Application.WindowState = 2;
              oWord.Application.WindowState 
          = 0;
              
          //生成目錄
              oWord.ActiveDocument.TablesOfContents.add(oWord.Selection.Range,true,1,3,false,"",true,true,"",true,true,true);
              oWord.ActiveDocument.TablesOfContents(
          1).TabLeader = 1
              oWord.ActiveDocument.TablesOfContents.Format 
          = 0;
              oWord.Selection.Sections(
          1).Footers(1).PageNumbers.Add(2,true);        //在頁腳出生成頁碼
              oWord.Application.Visible = true;
              
          //退出word
              //oWord.Quit();
              oWord = null;
          }

          function pastObj(servlet, form,oWord){
              
          var ajax = new AJAXInteraction(servlet, function(requestText) {
                      
          if (requestText == "FAILED"{
                          
          return;
                      }

                      
          else {
                          
          var oDoc = oWord.ActiveDocument;
                          
          var sele = oWord.Selection;
                          sele.Style 
          = oDoc.Styles("標題 1");        //設置樣式為標題1
                          var tempObj = document.getElementById("content");
                          tempObj.innerHTML 
          = requestText;
                          
          var title = document.getElementById("title_"+form.elements["gFields"].value).value;
                          oWord.Selection.TypeText(title);    
          //取得單位名稱,并設為標題
                          sele.TypeParagraph();        //換行
                          sele.Style = oDoc.Styles("正文");    //設置樣式為正文
                          var arrs = requestText.split("^^^");
                          
          for(var i=0;i<arrs.length;i++){
                              
          var obj = document.getElementById("content");
                              obj.innerHTML 
          = arrs[i];
                              
          var sel = document.body.createTextRange();
                              sel.moveToElementText(obj);
                              sel.select();
                              sel.execCommand(
          "Copy");
                              sele.paste();
                              
          var wdPageBreak = 7;
                              sele.InsertBreak(wdPageBreak);        
          //生成下一頁
                          }

                      
          //sele.TypeParagraph();
                      //sele.TypeText("測試1");
                      //sele.Style = oDoc.Styles("正文");
                      }

                  }
          );
              ajax.doPost(getRequestBody(form));
          }

           

          posted @ 2007-07-16 09:30 費思量 閱讀(2668) | 評論 (4)編輯 收藏

          2007年3月15日

          2006年5月9日

          SpeedProductLoad.java

          public ? class ?SpeedProductLoad? {
          ????
          private ?SpeedProduct?product;
          ????
          private ?SpeedVehicleType?vehicleType;
          ????
          private ?Double?loaded;
          ????
          private ?Long?lineNo;
          ????
          ????
          public ?SpeedProductLoad(SpeedProduct?product,SpeedVehicleType?vehicleType,Double?loaded,Long?lineNo) {
          ????????
          this .product? = ?product;
          ????????
          this .vehicleType? = ?vehicleType;
          ????????
          this .loaded? = ?loaded;
          ????????
          this .lineNo? = ?lineNo;
          ????}

          }
          hbm中的映射:
          <map?name="vehicleTypes"?table="PRODUCT_VEHICLETYPE"?lazy="true"?inverse="false"?cascade="all">
          ????????????
          <key?column="PRODUCT_ID"/>
          ????????????
          <index-many-to-many?class="com.vtradex.speedtms.model.base.vehicle.SpeedVehicleType"?column="VEHICLE_TYPE_ID"/>
          ????????????
          <element?type="double"?column="FULLYLOADED"/>
          </map>
          ?HQL語句:
          SELECT?new?com.vtradex.speedtms.model.base.product.SpeedProductLoad(product,index(vehicleTypes),vehicleTypes,product.id)
          ????????????????FROM?SpeedProduct?AS?product
          ????????????????LEFT?JOIN?FETCH?product.vehicleTypes?AS?vehicleTypes
          ????????????????WHERE?1=1??AND?product.disabled=false
          ????????????????/~code:?AND?product.code?LIKE?{code}?~/
          ????????????????/~name:?AND?product.name?LIKE?{name}?~/
          ????????????????/~company.id:?AND?product.company.id={company.id}?~/
          ????????????????/~product.uom:?AND?product.uom={product.uom}?~/
          ????????????????/~productType.id:?AND?product.productType.id={productType.id}?~/
          posted @ 2006-05-09 17:14 費思量 閱讀(734) | 評論 (0)編輯 收藏
           
          Copyright © 費思量 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 汝州市| 淮北市| 边坝县| 乐东| 洮南市| 崇义县| 璧山县| 泸西县| 黄陵县| 新宁县| 合江县| 宁津县| 乐清市| 兰西县| 买车| 达州市| 宁国市| 涞水县| 天峨县| 辛集市| 龙口市| 冀州市| 瑞金市| 绵阳市| 芷江| 连城县| 衡东县| 新河县| 宁波市| 来凤县| 宜川县| 昂仁县| 沁源县| 兴和县| 中阳县| 台中县| 宜君县| 云阳县| 清流县| 高碑店市| 塔城市|