hibernate/ many to many /one to one/Iterator//Set

来源:互联网 发布:java应聘专业技能 编辑:程序博客网 时间:2024/06/09 17:08

vo包

Iaitem.java

  1. import java.util.Set;
  2. /**
  3.  * @author 
  4.  * @version 创建时间:Jan 2, 2009 11:42:16 AM
  5.  * 类说明
  6.  */
  7. public class Iaitem {
  8.     private int itemid;
  9.     private String itemname;
  10.     private int itemcode;
  11.     //代表全部的子栏目
  12.     private Set iasubitems;
  13.     
  14.     public int getItemid() {
  15.         return itemid;
  16.     }
  17.     public void setItemid(int itemid) {
  18.         this.itemid = itemid;
  19.     }
  20.     public String getItemname() {
  21.         return itemname;
  22.     }
  23.     public void setItemname(String itemname) {
  24.         this.itemname = itemname;
  25.     }
  26.     public int getItemcode() {
  27.         return itemcode;
  28.     }
  29.     public void setItemcode(int itemcode) {
  30.         this.itemcode = itemcode;
  31.     }
  32. //
  33.     public Set getIasubitems() {
  34.         return iasubitems;
  35.     }
  36. //
  37.     public void setIasubitems(Set iasubitems) {
  38.         this.iasubitems = iasubitems;
  39.     }
  40. }

 

Iaitem.hbm.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  4. <!-- 
  5.     Mapping file autogenerated by MyEclipse Persistence Tools
  6. -->
  7. <hibernate-mapping>
  8.     <class name="com.123.mgzst.vo.Iaitem" table="IAITEM" schema="STMG">
  9.         <id name="itemid" type="java.lang.Integer">
  10.             <column name="ITEMID" precision="22"/>
  11.             <generator class="sequence">
  12.                 <param name="sequence">STMG.item_id_seq</param>    <!-- seq -->  <!-- native-->  <!-- native-->
  13.             </generator>
  14.         </id>
  15.         <property name="itemname" type="java.lang.String">
  16.             <column name="ITEMNAME" length="50" />
  17.         </property>
  18.         <property name="itemcode" type="java.lang.Integer">
  19.             <column name="ITEMCODE" precision="22"/>
  20.         </property>
  21. <!-- set -->
  22.         <set name="iasubitems" inverse="true" cascade="all" table="IASUBITEM">
  23.             <key>
  24.                 <column name="ITEMID" precision="22"/>
  25.             </key>
  26.             <one-to-many class="com.123.mgzst.vo.Iasubitem" />        <!--  one to many-->
  27.         </set>
  28.     </class>
  29. </hibernate-mapping>

Iasubitem.java

  1. public class Iasubitem {
  2.     
  3.     private int subid;
  4.     private String subname;
  5.     private int itemid;
  6.     private int subcode;
  7.     private Iaitem iaitem;
  8.     
  9.     public int getSubid() {
  10.         return subid;
  11.     }
  12.     public void setSubid(int subid) {
  13.         this.subid = subid;
  14.     }
  15.     public String getSubname() {
  16.         return subname;
  17.     }
  18.     public void setSubname(String subname) {
  19.         this.subname = subname;
  20.     }
  21.     public int getItemid() {
  22.         return itemid;
  23.     }
  24.     public void setItemid(int itemid) {
  25.         this.itemid = itemid;
  26.     }
  27.     public int getSubcode() {
  28.         return subcode;
  29.     }
  30.     public void setSubcode(int subcode) {
  31.         this.subcode = subcode;
  32.     }
  33.     public Iaitem getIaitem() {
  34.         return iaitem;
  35.     }
  36.     public void setIaitem(Iaitem iaitem) {
  37.         this.iaitem = iaitem;
  38.     }
  39.     
  40. }

 

Iasubitem.hbm.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  4. <!-- 
  5.     Mapping file autogenerated by MyEclipse Persistence Tools
  6. -->
  7. <hibernate-mapping>
  8.     <class name="com.123.mgzst.vo.Iasubitem" table="IASUBITEM" schema="STMG">
  9.         <id name="subid" type="java.lang.Integer">
  10.             <column name="SUBID" precision="22"/>
  11.              <generator class="sequence">
  12.                 <param name="sequence">STMG.subitem_id_seq</param>
  13.             </generator>
  14.         </id>
  15. <!-- many to one -->
  16.         <many-to-one name="iaitem" class="com.123.mgzst.vo.Iaitem" fetch="select">
  17.             <column name="ITEMID" precision="22"/>
  18.         </many-to-one>
  19.         <property name="subname" type="java.lang.String">
  20.             <column name="SUBNAME" length="50" />
  21.         </property>
  22.         <property name="subcode" type="java.lang.Integer">
  23.             <column name="SUBCODE" precision="22"/>
  24.         </property>
  25.     </class>
  26. </hibernate-mapping>

dao

IItemDAOImpl.java

  1. public class IItemDAOImpl extends HibernateDaoSupport implements IItemDAO {
  2.     public List queryAll() throws Exception {
  3.         // TODO Auto-generated method stub
  4.         String hql = "FROM Iaitem AS i";
  5.         List all = super.getSession().createQuery(hql).list();
  6.         return all;
  7.     }
  8. }

action

ItemAction.java

  1. public class ItemAction extends DispatchAction {
  2.     private IItemDAO iitemdao;
  3.     /*
  4.      * Generated Methods
  5.      */
  6.     /** 
  7.      * Method execute
  8.      * @param mapping
  9.      * @param form
  10.      * @param request
  11.      * @param response
  12.      * @return ActionForward
  13.      */
  14.     public ActionForward selectall(ActionMapping mapping, ActionForm form,
  15.             HttpServletRequest request, HttpServletResponse response) {
  16.         ItemForm itemForm = (ItemForm) form;// TODO Auto-generated method stub
  17.         List all =null;
  18.         try {
  19.             all = this.iitemdao.queryAll();
  20.             //Iterator
  21.             Iterator iter = all.iterator();     //all是一个List
  22.             while(iter.hasNext()) {
  23.                 Iaitem item = (Iaitem)iter.next();
  24.                 System.out.println(item.getItemname());
  25.                 Iterator it = item.getIasubitems().iterator();    /////item.getIasubitems()
  26.                 while(it.hasNext()) {
  27.                     Iasubitem si = (Iasubitem)it.next();
  28.                     System.out.println("|- " + si.getSubname());
  29.                 }
  30.             }
  31.         } catch (Exception e) {
  32.             // TODO Auto-generated catch block
  33.             e.printStackTrace();
  34.         }
  35.         request.setAttribute("all", all);
  36.         return mapping.findForward("question");
  37.     }

jsp

 

  1.     <logic:iterate id="item" scope="request" name="all">
  2.         ${item.itemname }<br>
  3.         <logic:iterate id="subitem" name="item" property="iasubitems">
  4.             |-${subitem.subname }<br>
  5.         </logic:iterate>
  6.     </logic:iterate>
原创粉丝点击