posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          請使用 mysql 1.5 或以上version;
          測試表 level ;
          create table test.level (name varchar(20));
          再 insert 些數據 ;

          ?/*初始化*/?
          ?
          drop?procedure?if?exists??useCursor?//????
          ?
          ?
          /*建立?存儲過程?create?*/?
          ?
          CREATE?PROCEDURE?useCursor()
          ????
          BEGIN
          ????
          /*局部變量的定義?declare*/?
          ?????????
          declare?tmpName?varchar(20)?default?''?;
          ?????????
          declare?allName?varchar(255)?default?''?;
          ?????????
          ?????????
          declare?cur1?CURSOR?FOR?SELECT?name?FROM?test.level?;
          ?????????
          ?????????
          /*????mysql?不知道為什么用異常加入判斷??
          ??????????*????此請參考官方文檔
          20.2.11. 光標 光標?
          ??????????*????????這把?游標?異常后?捕捉?
          ??????????*????????并設置?循環使用?變量?tmpname?為?null?跳出循環。
          ??????????
          */
          ?????????
          declare?CONTINUE?HANDLER?FOR?SQLSTATE?'02000'?SET?tmpname?=?null;
          ????
          ????
          ????
          /*開游標*/?
          ?????
          OPEN?cur1;
          ?????????
          /*游標向下走一步*/?
          ?????????
          FETCH?cur1?INTO?tmpName;
          ?????????
          ?????????
          /*?循環體?這很明顯?把游標查詢出的?name?都加起并用?;?號隔開?*/
          ??????
          WHILE?(?tmpname?is?not?null)?DO
          ??????????
          set?tmpName?=?CONCAT(tmpName?,";")?;
          ??????? ?
          set?allName?=?CONCAT(allName?,tmpName)?;
          ????????
          /*游標向下走一步*/?
          ????????
          FETCH?cur1?INTO?tmpName;
          ??????
          END?WHILE;
          ??
          ????
          CLOSE?cur1;
          ????
          ????
          select?allName?;
          END;//
          call?useCursor()
          //
          ?

          運行結果:
          mysql>?call?useCursor()//
          +--------------------------------------+
          |?allName??????????????????????????????|
          +--------------------------------------+
          |?f1;c3;c6;c5;c2;c4;c1;f1;f3;f4;f2;f5;?|
          +--------------------------------------+
          1?row?in?set?(0.00?sec)



          posted @ 2008-04-27 17:05 G_G 閱讀(7120) | 評論 (0)編輯 收藏

               摘要: level 類:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->package?hbm;import?java.util.Set;/**?*?@hibernate.class?table?=?"level"?*?where?=?"?visible?=?...  閱讀全文

          posted @ 2008-04-26 18:30 G_G 閱讀(2400) | 評論 (0)編輯 收藏

          你可以參考:快速修改 xdoclet samples ant -build.xml 適應實際開發
          此文檔為上面的改進版。

          1.在 你電腦上建一個 ant第三方擴展文件夾,我這為:D:\ant\lib
          2.當使用 eclipse->window->proferences..->ant->Runtime->Global Entries->Add External JARs->選擇你建的 ant_lib 下的全部jar;
          3.并在Global Entries下加入你的 classpath

          使用現成的 xdoclet ant -> 加入自己的 ->
          ????<target?name="hbm2ddl"?depends="prepare">
          ??????????
          <mkdir?dir="${hbm2ddl.sql.dir}"?/>
          ??????????
          <taskdef?
          ??????????????
          name="hbm2ddl"
          ?????????????classname
          ="org.hibernate.tool.ant.HibernateToolTask"?>
          ??????????
          </taskdef>
          ??????????
          <hbm2ddl?destdir="${hbm2ddl.sql.dir}"?>
          ???????????????????
          <configuration?configurationfile="../src/hibernate.cfg.xml"?/>
          ???????????????????
          <hbm2ddl?export="true"?console="false"?create="false"?update="false"?drop="false"?outputfilename="bestunix.sql"/>
          ??????????
          </hbm2ddl>?
          ??? ?? ??? <!-- 支持 1.5 泛型請
          搜索到xjavadoc最新1.5版本,下載,替換原來的xjavadoc-1.1.x,再次運行xdoclet任務,執行成功! -->
          ????
          </target>

          ????
          <target?name="sql"?depends="hbm2ddl">
          ????????
          ?????????
          <sql?driver="org.gjt.mm.mysql.Driver"?password=""??userid="root"?autocommit="true"??
          ???????????????????????url
          ="jdbc:mysql://localhost:3306/zhongqi?characterEncoding=gbk"?
          ????????????????????????src
          ="../sql/data.sql"?print="yes"?output="sql_out.txt">??
          ??????????????
          </sql>??
          ????
          </target>????

          成功后就可以:
          ??? 使用 xdoclet 面向對象建表 ;
          ??? 通過 ant -> java2hbn, hbn2ddl,insertSql

          在開發過程中當要加 jar 方法為:
          ??? 1.在 ant_lib 中加入 jar
          ??? 2.eclipse ->> Global Entries->Add External JARs->
          工程轉換修改 Global Entries中的classpath

          例:
          java
          package?hbm;

          import?java.util.Set;

          /**
          ?*?@hibernate.class?table?=?"level"
          ?*?where?=?"?visible?=?0??"
          ?*?
          @author?Administrator
          ?*
          ?
          */
          public?class?Level?{
          ????
          private?long?id?;
          ????
          private?String?name?;
          ????
          private?Level?father?;
          ????
          private?Set<Level>?childSet?;
          ????
          private?int?visible??;

          ????
          public?Level(){}
          ????
          public?Level(String?name){??this.name?=?name?;?}
          ????
          ????
          public?Level(String?name,int?visible){this.visible?=?visible;??this.name?=?name?;?}
          ????
          /**
          ?????*?@hibernate.id?generator-class?=?"identity"
          ?????*?
          @return
          ?????
          */
          ????
          public?long?getId()?{
          ????????
          return?id;
          ????}
          ????
          public?void?setId(long?id)?{
          ????????
          this.id?=?id;
          ????}
          ????
          /**
          ?????*?@hibernate.property?
          ?????*?length?=?"20"
          ?????*?
          @return
          ?????
          */
          ????
          public?String?getName()?{
          ????????
          return?name;
          ????}
          ????
          public?void?setName(String?name)?{
          ????????
          this.name?=?name;
          ????}
          ????
          ????
          /**
          ?????*?@hibernate.many-to-one?
          ?????*?cascade?=?"save-update"
          ?????*?inverse?=?"false"
          ?????*?column?=?"fid"
          ?????*?
          @return
          ?????
          */
          ????
          public?Level?getFather()?{
          ????????
          return?father;
          ????}
          ????
          public?void?setFather(Level?father)?{
          ????????
          this.father?=?father;
          ????}
          ????
          ????
          /**
          ?????*?@hibernate.set?
          ?????*?lazy?=?"true"
          ?????*?table?=?"Level"
          ?????*?cascade?=?"save-update"
          ?????*?where?=?"?visible?=?0?"
          ?????*?@hibernate.collection-key?column?=?"fid"
          ?????*?@hibernate.collection-one-to-many?class?=?"hbm.Level"
          ?????*?
          @return
          ?????
          */
          ????
          public?Set<Level>?getChildSet()?{
          ????????
          return?childSet;
          ????}
          ????
          public?void?setChildSet(Set<Level>?childSet)?{
          ????????
          this.childSet?=?childSet;
          ????}
          ????
          ????
          /**
          ?????*?@hibernate.property?
          ?????*?
          @return
          ?????
          */
          ????
          public?int?getVisible()?{
          ????????
          return?visible;
          ????}
          ????
          public?void?setVisible(int?visible)?{
          ????????
          this.visible?=?visible;
          ????}
          }


          unit
          package?test;

          import?java.util.HashSet;
          import?java.util.List;
          import?java.util.Set;

          import?hbm.Level;

          import?org.hibernate.Hibernate;
          import?org.hibernate.Session;
          import?org.hibernate.Transaction;
          import?org.junit.Test;

          import?unit.HibernateUtil;

          public?class?HbnUnit?{
          ????@Test
          ????
          public?void?level()?throws?Exception?{
          ????????Session?session?
          =?HibernateUtil.currentSession();
          ????????Transaction?tr?
          =??session.beginTransaction();
          ????????
          ????????Level?level?
          =?new?Level();
          ????????level.setName(
          "f1");
          ????????
          ????????Set
          <Level>?set?=?new?HashSet<Level>();
          ????????????set.add(
          new?Level("c1"));
          ????????????set.add(
          new?Level("c2",1));
          ????????????set.add(
          new?Level("c3"));
          ????????????set.add(
          new?Level("c4",1?));
          ????????????set.add(
          new?Level("c5"?));
          ????????????set.add(
          new?Level("c6",1?));
          ????????
          ????????level.setChildSet(set);
          ????????session.save(level);
          ????????session.flush()?;
          ????????session.clear();
          ????????tr.commit();

          ????????
          ????}
          ????
          ????@Test
          ????
          public?void?sAll()?throws?Exception?{
          ????????Session?session?
          =?HibernateUtil.currentSession();
          ????????
          ????????System.out.println(
          "---------------------------------------------");
          ????????List
          <Level>?list?=??session.createQuery("?from?Level?tl?where?tl.father?is?null?").list();
          ????????
          for(?Level?tmp?:?list?){
          ????????????System.out.println(
          "---->"?+?tmp.getName()+"?visible="+tmp.getVisible()??);
          ????????????
          ????????????
          for(??Level?tt?:?tmp.getChildSet()?){
          ????????????????System.out.println(?tt.getName()
          +"?visible="+tt.getVisible()??);
          ????????????}
          ????????????
          ????????}
          ????????System.out.println(?list.get(
          0).getVisible()+":"+?list.size()?);
          ????}
          ????
          }

          結果:
          Hibernate:?insert?into?level?(name,?fid,?visible)?values?(?,??,??)
          Hibernate:?
          insert?into?level?(name,?fid,?visible)?values?(?,??,??)
          Hibernate:?
          insert?into?level?(name,?fid,?visible)?values?(?,??,??)
          Hibernate:?
          insert?into?level?(name,?fid,?visible)?values?(?,??,??)
          Hibernate:?
          insert?into?level?(name,?fid,?visible)?values?(?,??,??)
          Hibernate:?
          insert?into?level?(name,?fid,?visible)?values?(?,??,??)
          Hibernate:?
          insert?into?level?(name,?fid,?visible)?values?(?,??,??)
          Hibernate:?
          update?level?set?fid=??where?id=?
          Hibernate:?
          update?level?set?fid=??where?id=?
          Hibernate:?
          update?level?set?fid=??where?id=?
          Hibernate:?
          update?level?set?fid=??where?id=?
          Hibernate:?
          update?level?set?fid=??where?id=?
          Hibernate:?
          update?level?set?fid=??where?id=?
          ---------------------------------------------
          Hibernate:?select?level0_.id?as?id0_,?level0_.name?as?name0_,?level0_.fid?as?fid0_,?level0_.visible?as?visible0_?from?level?level0_?where?(??level0_.visible?=?0?)?and?(level0_.fid?is?null)
          ---->f1?visible=0
          Hibernate:?select?childset0_.fid?as?fid1_,?childset0_.id?as?id1_,?childset0_.id?as?id0_0_,?childset0_.name?as?name0_0_,?childset0_.fid?as?fid0_0_,?childset0_.visible?as?visible0_0_?from?level?childset0_?where??(??childset0_.visible?=?0?)??and?childset0_.fid=?
          c1?visible
          =0
          c5?visible
          =0
          c3?visible
          =0
          0:1



          posted @ 2008-04-25 11:31 G_G 閱讀(1728) | 評論 (0)編輯 收藏

          此代碼可以直接使用


          <body>
          ?
          <a?id='pi'?href=""?value="text">?text?</a>
          ?
          <div?id='div1'/>
          </body>
          <script?type="text/javascript">?

          function?showByEvent(ev,divId){
          ????????
          //取得各瀏覽器?event?
          ????????ev?=?ev?||?window.event;
          ????????
          //div
          ????????var?useDiv??=?document.getElementById(divId);
          ????????useDiv.style.position
          ="absolute";
          ????????????
          if(?useDiv.style.left==""?)useDiv.style.left?=?"50";
          ????????????
          if(?useDiv.style.top==""?)useDiv.style.top?=?"10";
          ????????????
          if(?useDiv.style.zIndex==""?)useDiv.style.zIndex?=?"1000";
          ????????????
          if(?useDiv.style.padding==""?)useDiv.style.padding?=?"0px";
          ????????????
          if(?useDiv.style.backgroundColor==""?)useDiv.style.backgroundColor?=?"#FFFFCC";
          ????????????
          if(?useDiv.style.color==""?)useDiv.style.color?=?"#201000";
          ????????????
          if(?useDiv.style.fontSize==""?)useDiv.style.fontSize?=?"12px";
          ????????????
          if(?useDiv.style.border==""?)useDiv.style.border?="1px???solid???#284860";
          ????????
          ????????
          //得到處發事件的源element
          ??????var?actionBean?=??null?;
          ????????
          if(??ev.srcElement?){
          ????????????actionBean?
          =?ev.srcElement?
          ????????}
          else{
          ????????????actionBean?
          =?ev.target;
          ????????}
          ????????
          ????????
          //處發事件?
          ????????useDiv.onmousemove?=?function(){
          ????????????????useDiv.style.visibility??
          =?"";
          ????????}
          ????????useDiv.onmouseout?
          =?function(){
          ????????????????useDiv.style.visibility??
          =?"hidden";
          ????????????
          ????????}
          ????????actionBean.onmouseout?
          =??function?mouseOut(ev){
          ????????????????useDiv.style.visibility??
          =?"hidden";
          ????????}
          ????????
          ????????
          //div?定位
          ????????useDiv.style.left?=?actionBean.offsetTop+15?;
          ????useDiv.style.top?
          =?actionBean.offsetLeft+15;
          ????
          ????????
          //返回類型為?div?顯示的?x?,?y?和?target?處發源項?和?div
          ????????return?{
          ????????????y:??actionBean.offsetTop
          +15??,
          ????????????x:??actionBean.offsetLeft
          +15?,
          ????????????target:actionBean,
          ????????????div:useDiv
          ????????}
          }



          //事件添加
          document.getElementById('pi').onmousemove?=?function(ev){
          ??????
          var?sbv?=?showByEvent(ev,"div1");
          ??????
          var?bean?=?sbv.target?;
          ????
          var?dd?=?sbv.div;
          ????dd.style.visibility??
          =?"";
          ????dd.innerHTML?
          =?"<a?href=http://www.baidu.com>刪除"+bean.value+"</a><br>"+
          ????????????????????????????????????
          "<a?href=http://www.google.com>詳細?by?Id?"+bean.id+"</a>";

          };

          </script>



          posted @ 2008-04-23 17:41 G_G 閱讀(1625) | 評論 (1)編輯 收藏

          struts2-blank-2.0.11.1.war

          web.xml:
          <? xml?version="1.0"?encoding="UTF-8" ?>
          < web-app? id ="WebApp_9" ?version ="2.4" ?xmlns ="http://java.sun.com/xml/ns/j2ee" ?xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" ?xsi:schemaLocation ="http://java.sun.com/xml/ns/j2ee?http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >

          ????
          < display-name > Struts?Blank </ display-name >

          ????
          < filter >
          ????????
          < filter-name > struts2 </ filter-name >
          ????????
          ??? <!-- ?struct?2?處理類? -->
          ??? <!--
          相應需要jar:
          ??? ??? ??? ??? commons-logging-1.0.4.jar

          ??? ?? ?? ?? ?? freemarker-2.3.8.jar
          ??? ?? ?? ?? ?? ognl-2.6.11.jar
          ??? ??? ??? ??? struts2-core-2.0.11.1.jar
          ??? ?? ?? ?? ?? xwork-2.0.4.jar
          ??? -->
          < filter-class > org.apache.struts2.dispatcher.FilterDispatcher </ filter-class > </ filter >

          ???? <!-- ??默認覆蓋 全部 路徑? -->
          ????
          < filter-mapping >
          ????????
          < filter-name > struts2 </ filter-name >
          ????????
          < url-pattern > /* </ url-pattern >
          ????
          </ filter-mapping >

          ????
          <!-- ?初始頁面? -->
          ????
          < welcome-file-list >
          ????????
          < welcome-file > index.html </ welcome-file >
          ????
          </ welcome-file-list >

          </ web-app >

          index.html:

          ??? < head >
          ??? ???
          <!-- ?利用html?跳轉? -->
          ??? ???
          < META? HTTP-EQUIV ="Refresh" ?CONTENT ="0;URL=example/HelloWorld.action" >
          ??? </ head >

          struct.xml

          ???
          <!-- ?模塊化注入?? -->
          ???
          < include? file ="example.xml" />

          ????
          <!-- ?Add?packages?here? -->
          ????



          example.xml
          <?xml?version="1.0"?encoding="UTF-8"??>
          <!DOCTYPE?struts?PUBLIC
          ????????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"
          ????????"http://struts.apache.org/dtds/struts-2.0.dtd"
          >

          <struts>
          ????
          <!--?定義域空間?-->
          ????
          <package?name="example"?namespace="/example"?extends="struts-default">

          ????????
          <!--?域一般訪問?-->
          ????????
          <action?name="HelloWorld"?class="example.HelloWorld">
          ????????????
          <result>/example/HelloWorld.jsp</result>
          ????????
          </action>
          <!--
          HelloWord.java(國際化) start -->
          <!--HelloWord.java(國際化) end-->


          ???????
          <!--?(關鍵:action利用正則選擇方法)Login(_*)? >method="{1}"? -->
          ????????
          <action?name="Login_*"?method="{1}"?class="example.Login">
          ????????????
          <result?name="input">/example/Login.jsp</result>
          ????????????
          <result?type="redirect-action">Menu</result>
          ????????
          </action>
          <!-- example.Login(驗證框架) start -->
          java
          Login-validation.xml

          <!-- example.Login(驗證框架) end -->



          ????????
          <!--?jsp?封包 如:Missing.action就是Missiong.jsp -->
          ????????
          <action?name="*"?class="example.ExampleSupport">
          ????????????
          <result>/example/{1}.jsp</result>
          ????????
          </action>

          ????????
          <!--?Add?actions?here?-->
          ????
          </package>
          </struts>






























          posted @ 2008-04-21 17:51 G_G 閱讀(1213) | 評論 (0)編輯 收藏

          js 上

          限制:<input?type="text"?size="4"?value="10"?name="fileSizeLimit"?id="fileSizeLimit"/>?K
          <input?type="file"?name="file1"?id="file1"?size="40"?onchange="changeSrc(this)"/>
          <br>
          <img?src=http://blog.xunuo.com/blog/images/icons/23.gif?id="fileChecker"?alt="test"/>

          <script?type="text/javascript">
          var?oFileChecker?=?document.getElementById("fileChecker");

          function?changeSrc(filePicker)
          {
          ????oFileChecker.src?
          =?filePicker.value;
          }

          oFileChecker.onreadystatechange?
          =?function?()
          {
          ????
          if?(oFileChecker.readyState?==?"complete")
          ????{
          ????????checkSize();
          ????}
          }

          function?checkSize()
          {
          ????
          var?limit??=?document.getElementById("fileSizeLimit").value?*?1024;

          ????
          if?(oFileChecker.fileSize?>?limit)
          ????{
          ????????alert(
          "too?large");
          ????}
          ????
          else
          ????{
          ????????alert(
          "ok");
          ????}
          }
          </script>??



          IE
          <html>?
          <input?type="file"?name="file1"?onchange="ShowSize(this.value)">?
          <script?language="JavaScript">?
          <!--?
          function?ShowSize(files)?
          {?
          ??
          var?fso,f;?
          ??fso
          =new?ActiveXObject("Scripting.FileSystemObject");?
          ??f
          =fso.GetFile(files);?
          ??alert(?(f.size
          /(1024*1024))+"?Bytes");?
          }?
          //-->?
          </script>?
          </html>

          posted @ 2008-04-15 18:07 G_G 閱讀(1606) | 評論 (0)編輯 收藏


          參考 :http://www.codebit.cn/pub/html/javascript/tip/mouse_position/
          <script?type="text/javascript">?

          function?mousePosition(ev){
          ??? //支持 火狐
          ????
          if(ev.pageX?||?ev.pageY){
          ????????
          return?{x:ev.pageX,?y:ev.pageY};
          ????}
          ??? //支持IE
          ????
          return?{
          ????????x:ev.clientX?
          +?document.body.scrollLeft?-?document.body.clientLeft,
          ????????y:ev.clientY?
          +?document.body.scrollTop?-?document.body.clientTop
          ????};
          }

          function?mouseMove(ev){
          ????ev?
          =?ev?||?window.event;
          ????
          var?mousePos?=?mousePosition(ev);
          ????????
          ?????? document.getElementById('div1').innerHTML?
          =?mousePos.x?+":"+mousePos.y?;
          ???????document.getElementById('div1').style.left?
          =?mousePos.x+10;
          ???????document.getElementById('div1').style.top?
          =?mousePos.y+50;
          }

          //事件添加
          document.onmousemove?
          =?mouseMove;


          </script>
          <body>
          ????
          <p?id='pi'></p>
          ????
          <div?id='div1'??style="position:absolute;??
          ??left:50;??
          ??top:10;??
          ??z-index:1000;??
          ??padding:0px;??
          ??background-color:#FFFFCC;??
          ??color:#201000;??
          ??font-size:12px;??
          ??border:1px???solid???#284860;
          "></div>???
          </body>

          直接運行


          posted @ 2008-04-15 13:41 G_G 閱讀(3063) | 評論 (2)編輯 收藏

          ????權限設計的探討閱讀后感

          ????文章路徑:http://www.chinaitpower.com/A200508/2005-08-07/183934.html

          ????權限設計通常包括數據庫設計、應用程序接口(API)設計、程序實現三個部分。

          ????權限分類:

          ????????首先是針對數據存取的權限,通常有錄入、瀏覽、修改、刪除四種。

          ????????其次是功能,它可以包括例如統計等所有非直接數據存取操作,另外,我們還可能對一些關鍵數據表某些字段的存取進行限制。

          ?

          ?

          權限表及相關內容大體可以用六個表來描述,如下:?
          ????1 擁有權限角色(即用戶組):具體擁有權限描述實體。

          ????2 用戶表:用戶的描述,其它(如地址、電話等信息);?
          ????3 角色-用戶對應表:該表記錄用戶與角色之間的對應關系(多對多關系),一個用戶可以隸屬于多個角色,一個角色組也可擁有多個用戶。

          ????4 權限列表:程序所有權限列表。該表記錄所有要加以控制的權限,如錄入、修改、刪除、執行等;?
          ????5 權限-角色-用戶對應表權限對應角色(多對多關系)再由4表關系到用戶

          ?

          在探討文中的第4條,我怎么都不太理解?望大家探討。反向權限嗎?那怎么和系統中的擁有一起描述?

          ?

          下面提出一些自己的見解:

          ???? 1 用戶表:用戶的描述,其它(如地址、電話等信息);?

          ?? 2 權限列表:程序所有權限列表。該表記錄所有要加以控制的權限,如錄入、修改、刪除、執行等;?
          ???3 權限樹(模糊看成角色,但有些不同。樹性結構,結構數據庫中表外鍵自己):孩子接點繼承父親接點全部權限,并在次上擴充和刪減權限建立自己分支。

          ???4 權限列表-權限樹:(多對多關系)用于描述此權限樹接點父親接點權限繼承下,由自己添加和消減的權限

          ????????????????????????????????????????本表中用一列枚舉列用于表示本紀錄是添加或刪減權限。

          ???5 用戶-權限樹:權限樹接點對應用戶(多對一)關系。

          感覺自己的這種框架,能很好的擴充(在某接點下增,刪某權限或直接找到最向近的一個權限樹接點并繼承)??

          大家多說說自己的見解,和對比下這兩個框架的一些優缺點把。本人隨時恭聽。G_G

          與2008-4-7 22:50北京

          google doc 原稿:?http://docs.google.com/Doc?id=dkvfctc_16hgvfkbfs

          ?

          posted @ 2008-04-07 22:49 G_G 閱讀(2815) | 評論 (6)編輯 收藏

          問題描述:實體類答案從屬于實體類問題。(一對多)
          ?效果-》
          ????/**
          ?????*?添加?問題?和?選項
          ?????*?
          @throws?Exception
          ?????
          */@Test
          ????
          public?void?testQu()?throws?Exception?{
          ????????Session?session?
          =?HibernateUtil.currentSession();
          ????????Transaction?tr?
          =?session.beginTransaction();
          ????????
          ????????
          //級聯添加
          ????????Set?options?=?new?HashSet();
          ????????Options?op1?
          =?new?Options();
          ????????op1.setName(
          "op1");
          ????????options.add(op1);
          ????????
          ????????
          ????????Options?op2?
          =?new?Options();
          ????????op2.setName(
          "op2");
          ????????options.add(op2);
          ????????
          ????????
          ????????Options?op3?
          =?new?Options();
          ????????op3.setName(
          "op3");
          ????????options.add(op3);
          ????????Problems?problems?
          =?new?Problems();
          ????????
          ????????problems.setName(
          "problem_1");
          ????????problems.setOptions(options);
          ????????problems.setTdesc(
          "tdesc");
          ????????problems.setType(
          1);
          ????????
          ????????Long?ll?
          =?(Long)session.save(problems);
          ????????
          ????????
          ????????System.out.println(ll);
          ????????tr.commit();
          ???????
          mysql> select * from options ;
          +----+------------+--------+------+---------+
          | id | problemsid | answer | name | visible |
          +----+------------+--------+------+---------+
          |? 1 |????????? 1 |?? NULL | op2? |?????? 0 |
          |? 2 |????????? 1 |?? NULL | op3? |?????? 0 |
          |? 3 |????????? 1 |?? NULL | op1? |?????? 0 |
          +----+------------+--------+------+---------+
          3 rows in set (0.00 sec)

          mysql> select * from problems ;
          +----+-----------+------+-------+------------+---------+
          | id | name????? | type | tdesc | questionid | visible |
          +----+-----------+------+-------+------------+---------+
          |? 1 | problem_1 |??? 1 | tdesc |?????? NULL |?????? 0 |
          +----+-----------+------+-------+------------+---------+
          1 row in set (0.00 sec)


          ????????
          ????????
          //級聯刪除
          ????????tr.begin();
          ????????????session.delete(?session.get(Problems.
          class,ll)?);
          ????????tr.commit();

          mysql> select * from problems ;
          Empty set (0.00 sec)

          mysql> select * from options ;
          Empty set (0.00 sec)?


          ????????HibernateUtil.closeSession();
          ????}

          Options類
          .......
          ??? /**
          ?????*?@hibernate.many-to-one?
          ?????*?????????cascade?=?"save-update"
          ?????*?????????column?=?"Problemsid"
          ?????*?????????class?=?"com.zhongqi.domain.Problems"
          ?????*?
          @return
          ?????
          */
          ????
          public?Problems?getProblems()?{
          ????????
          return?problems;
          ????}
          ............

          Problems 類
          ????/**
          ?????*?@hibernate.set
          ?????*?????????cascade="all-delete-orphan"
          ?????*?????????inverse?=?"false"
          ?????*???????? lazy?=?"true"
          ?????*?????????@hibernate.collection-key??column?=?"problemsid"
          ?????*?????????@hibernate.collection-one-to-many?class?=?"com.zhongqi.domain.Options"
          ?????*?
          @return
          ?????
          */
          ????
          public?Set?getOptions()?{
          ????????
          return?options;
          ????}



          posted @ 2008-04-02 10:07 G_G 閱讀(2091) | 評論 (2)編輯 收藏

          上一個blog中 粗略的使用了下分頁標簽使用 pg
          使用問題還是有很多 如 分頁中亂碼、多java代碼塊
          下面用一個 <jsp:include >來解決這些問題。
          ??? <!-- 使用寫好的分頁jsp 當中需要參數為 count 總結果個數 / maxPageItems(可選默認10)頁面顯示行數 / goUrl (可選默認本頁) 跳轉路徑 /? params? request中參數 應為亂碼問題 傳給下一個頁面 需要使用URLDecoder.decode(...) 如:String productName = URLDecoder.decode( request.getParameter("productName")==null?"":request.getParameter("productName"),"utf8" );
          ??? ?
          ??? -->

          ??? <jsp:include?page="../jspUtil/page.jsp">
          ????????
          <jsp:param?name="count"?value="<%=OrderServiceImp.getOrdersCount(beginTime,endTime,userName,companyName,productName,null,zq)%>"??/>
          ????????????
          <jsp:param?name="maxPageItems"?value="10"?/>
          ????????
          ????????????
          <jsp:param?name="goUrl"?value="/zhongqi/seleProduct.do"?/>
          ????????
          ????????
          <jsp:param?name="params"?value="beginTime"?/>
          ????????
          <jsp:param?name="params"?value="endTime"?/>
          ????????
          <jsp:param?name="params"?value="userName"?/>
          ????????
          <jsp:param?name="params"?value="companyName"/>
          ????????
          <jsp:param?name="params"?value="productName"?/>
          ????????
          ????
          </jsp:include>

          page.jsp

          <%@?page?language="java"?import="java.util.*"?pageEncoding="UTF-8"%>
          <%@page?import="java.net.URLEncoder"%>
          <%@page?import="java.net.URLDecoder"%>
          <%@?taglib?prefix="pg"?uri="/WEB-INF/pager-taglib.tld"?%>

          <%
          ????int?
          count?=?Integer.parseInt(?request.getParameter("count")?);
          ????int?maxPageItems?
          =?Integer.parseInt(?request.getParameter("maxPageItems")==null?"10":request.getParameter("maxPageItems")?);
          ????
          ????//參數設置?<jsp:param?name
          ="params"?value="xx"??/>
          ????String[]?params?=?(String[])request.getParameterMap().get("params");
          ????
          ????String?goUrl?=?request.getParameter("goUrl");
          ????
          %>
          <div?id="bgee">
          <div?align="center">
          <pg:pager
          ??
          id="pager"
          ??url
          ="<%=goUrl%>"
          ??items
          ='<%=count%>'
          ??
          maxPageItems="<%=maxPageItems?%>"
          ??export
          ="offset,currentPageNumber=pageNumber"
          ??isOffset
          ="false"
          ??scope
          ="request">
          ??
          ?? <%?
          ????for
          (?String?str?:?params?)?{
          ????????if?(request.getParameter(str)?!
          =?null?&&?!request.getParameter(str).equals(""))?{%>
          ????????????????
          <pg:param?name="<%=str?%>"?value='<%=?URLEncoder.encode(?URLDecoder.decode(request.getParameter(str),"utf-8"),"utf-8")%>'/>
          ????????
          <%?}
          ??? }%
          >



          <pg:index>
          <pg:prev?ifnull="true">
          <span>
          ??????
          <%?if?(pageUrl?!=?null)?{?%>
          ????????
          <A?HREF="<%=?pageUrl?%>">&lt;?上一頁</A>
          ??????
          <%?}?%>
          </span>
          </pg:prev>

          ??
          <pg:pages?export="pageUrl,?pageNumber">
          <%?if?(pageNumber?==?currentPageNumber)?{?%>
          ?
          <span><%=?pageNumber?%></span>
          <%}?else?{%>
          ?
          <a?href='<%=pageUrl%>'><%=?pageNumber?%></a>
          <%}%>
          </pg:pages>
          <pg:next?ifnull="true">
          <%?if?(pageUrl?!=?null)?{?%>
          ??
          <a?href='<%=pageUrl%>'>下一頁?&gt;</a>
          <%}%>
          </pg:next>
          </pg:index>
          </pg:pager>
          ????
          </div>
          </div>






          posted @ 2008-04-01 16:13 G_G 閱讀(2089) | 評論 (1)編輯 收藏

          僅列出標題
          共16頁: First 上一頁 2 3 4 5 6 7 8 9 10 下一頁 Last 
          主站蜘蛛池模板: 太康县| 稷山县| 盐池县| 三原县| 岳西县| 五河县| 内江市| 宁陵县| 寿宁县| 靖江市| 时尚| 贵州省| 石城县| 高淳县| 搜索| 乐都县| 涟源市| 静海县| 雅江县| 康保县| 沾益县| 正阳县| 彝良县| 青浦区| 上蔡县| 凤山市| 齐齐哈尔市| 涟水县| 长宁县| 千阳县| 博客| 安庆市| 兴化市| 登封市| 新田县| 商水县| 蚌埠市| 巴里| 育儿| 轮台县| 太康县|