<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    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 閱讀(7121) | 評論 (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 閱讀(2401) | 評論 (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 閱讀(1731) | 評論 (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 閱讀(1214) | 評論 (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 閱讀(1608) | 評論 (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 閱讀(3065) | 評論 (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 閱讀(2816) | 評論 (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 閱讀(2093) | 評論 (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 閱讀(2092) | 評論 (1)編輯 收藏

    僅列出標題
    共16頁: First 上一頁 2 3 4 5 6 7 8 9 10 下一頁 Last 
    主站蜘蛛池模板: 久久久久久精品免费免费自慰| 妞干网免费视频在线观看| 激情五月亚洲色图| 亚洲AV无码成人精品区大在线| 国内精品久久久久影院免费| 亚洲另类春色校园小说| 亚洲精品美女久久久久99小说| 无码乱人伦一区二区亚洲| 久久成人国产精品免费软件| 高潮毛片无遮挡高清免费视频| 日本无卡码免费一区二区三区| 国产精品黄页免费高清在线观看| 亚洲成人午夜在线| 国产精品美女自在线观看免费| 国产精品免费大片| 在线看亚洲十八禁网站| 婷婷精品国产亚洲AV麻豆不片 | 久久久久高潮毛片免费全部播放| ASS亚洲熟妇毛茸茸PICS| 久久激情亚洲精品无码?V| AV免费网址在线观看| 国产精品亚洲专区在线观看| 国产亚洲精品不卡在线| 久久精品网站免费观看| 男女午夜24式免费视频| 激情无码亚洲一区二区三区| 亚洲专区在线视频| 亚洲第一成年免费网站| 日韩在线视精品在亚洲| 久久精品国产亚洲AV高清热| 亚洲人成色77777在线观看大| 国产精品成人免费一区二区 | 亚洲专区在线视频| 国产成人精品久久亚洲高清不卡 | 男女超爽刺激视频免费播放| 亚洲精品日韩一区二区小说| 久久99亚洲网美利坚合众国| 亚洲精品中文字幕无码蜜桃| 亚洲а∨天堂久久精品| 青草草在线视频永久免费| 99久久精品日本一区二区免费|