`
digyso
  • 浏览: 142139 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

hibernate\ many to many \one to one\Iterator\\Set

阅读更多

vo包

Iaitem.java

  1. importjava.util.Set;
  2. /**
  3. *@author
  4. *@version创建时间:Jan2,200911:42:16AM
  5. *类说明
  6. */
  7. publicclassIaitem{
  8. privateintitemid;
  9. privateStringitemname;
  10. privateintitemcode;
  11. //代表全部的子栏目
  12. privateSetiasubitems;
  13. publicintgetItemid(){
  14. returnitemid;
  15. }
  16. publicvoidsetItemid(intitemid){
  17. this.itemid=itemid;
  18. }
  19. publicStringgetItemname(){
  20. returnitemname;
  21. }
  22. publicvoidsetItemname(Stringitemname){
  23. this.itemname=itemname;
  24. }
  25. publicintgetItemcode(){
  26. returnitemcode;
  27. }
  28. publicvoidsetItemcode(intitemcode){
  29. this.itemcode=itemcode;
  30. }
  31. //
  32. publicSetgetIasubitems(){
  33. returniasubitems;
  34. }
  35. //
  36. publicvoidsetIasubitems(Setiasubitems){
  37. this.iasubitems=iasubitems;
  38. }
  39. }

Iaitem.hbm.xml

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  4. <!--
  5. MappingfileautogeneratedbyMyEclipsePersistenceTools
  6. -->
  7. <hibernate-mapping>
  8. <classname="com.123.mgzst.vo.Iaitem"table="IAITEM"schema="STMG">
  9. <idname="itemid"type="java.lang.Integer">
  10. <columnname="ITEMID"precision="22"/>
  11. <generatorclass="sequence">
  12. <paramname="sequence">STMG.item_id_seq</param><!-- seq--> <!-- native--> <!-- native-->
  13. </generator>
  14. </id>
  15. <propertyname="itemname"type="java.lang.String">
  16. <columnname="ITEMNAME"length="50"/>
  17. </property>
  18. <propertyname="itemcode"type="java.lang.Integer">
  19. <columnname="ITEMCODE"precision="22"/>
  20. </property>
  21. <!-- set-->
  22. <setname="iasubitems"inverse="true"cascade="all"table="IASUBITEM">
  23. <key>
  24. <columnname="ITEMID"precision="22"/>
  25. </key>
  26. <one-to-manyclass="com.123.mgzst.vo.Iasubitem"/><!-- one to many-->
  27. </set>
  28. </class>
  29. </hibernate-mapping>

Iasubitem.java

  1. publicclassIasubitem{
  2. privateintsubid;
  3. privateStringsubname;
  4. privateintitemid;
  5. privateintsubcode;
  6. privateIaitemiaitem;
  7. publicintgetSubid(){
  8. returnsubid;
  9. }
  10. publicvoidsetSubid(intsubid){
  11. this.subid=subid;
  12. }
  13. publicStringgetSubname(){
  14. returnsubname;
  15. }
  16. publicvoidsetSubname(Stringsubname){
  17. this.subname=subname;
  18. }
  19. publicintgetItemid(){
  20. returnitemid;
  21. }
  22. publicvoidsetItemid(intitemid){
  23. this.itemid=itemid;
  24. }
  25. publicintgetSubcode(){
  26. returnsubcode;
  27. }
  28. publicvoidsetSubcode(intsubcode){
  29. this.subcode=subcode;
  30. }
  31. publicIaitemgetIaitem(){
  32. returniaitem;
  33. }
  34. publicvoidsetIaitem(Iaitemiaitem){
  35. this.iaitem=iaitem;
  36. }
  37. }

Iasubitem.hbm.xml

  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  4. <!--
  5. MappingfileautogeneratedbyMyEclipsePersistenceTools
  6. -->
  7. <hibernate-mapping>
  8. <classname="com.123.mgzst.vo.Iasubitem"table="IASUBITEM"schema="STMG">
  9. <idname="subid"type="java.lang.Integer">
  10. <columnname="SUBID"precision="22"/>
  11. <generatorclass="sequence">
  12. <paramname="sequence">STMG.subitem_id_seq</param>
  13. </generator>
  14. </id>
  15. <!-- many to one-->
  16. <many-to-onename="iaitem"class="com.123.mgzst.vo.Iaitem"fetch="select">
  17. <columnname="ITEMID"precision="22"/>
  18. </many-to-one>
  19. <propertyname="subname"type="java.lang.String">
  20. <columnname="SUBNAME"length="50"/>
  21. </property>
  22. <propertyname="subcode"type="java.lang.Integer">
  23. <columnname="SUBCODE"precision="22"/>
  24. </property>
  25. </class>
  26. </hibernate-mapping>

dao

IItemDAOImpl.java

  1. publicclassIItemDAOImplextendsHibernateDaoSupportimplementsIItemDAO{
  2. publicListqueryAll()throwsException{
  3. //TODOAuto-generatedmethodstub
  4. Stringhql="FROMIaitemASi";
  5. Listall=super.getSession().createQuery(hql).list();
  6. returnall;
  7. }
  8. }

action

ItemAction.java

  1. publicclassItemActionextendsDispatchAction{
  2. privateIItemDAOiitemdao;
  3. /*
  4. *GeneratedMethods
  5. */
  6. /**
  7. *Methodexecute
  8. *@parammapping
  9. *@paramform
  10. *@paramrequest
  11. *@paramresponse
  12. *@returnActionForward
  13. */
  14. publicActionForwardselectall(ActionMappingmapping,ActionFormform,
  15. HttpServletRequestrequest,HttpServletResponseresponse){
  16. ItemFormitemForm=(ItemForm)form;//TODOAuto-generatedmethodstub
  17. Listall=null;
  18. try{
  19. all=this.iitemdao.queryAll();
  20. //Iterator
  21. Iteratoriter=all.iterator(); //all是一个List
  22. while(iter.hasNext()){
  23. Iaitemitem=(Iaitem)iter.next();
  24. System.out.println(item.getItemname());
  25. Iteratorit=item.getIasubitems().iterator(); /////item.getIasubitems()
  26. while(it.hasNext()){
  27. Iasubitemsi=(Iasubitem)it.next();
  28. System.out.println("|-"+si.getSubname());
  29. }
  30. }
  31. }catch(Exceptione){
  32. //TODOAuto-generatedcatchblock
  33. e.printStackTrace();
  34. }
  35. request.setAttribute("all",all);
  36. returnmapping.findForward("question");
  37. }

jsp

  1. <logic:iterateid="item"scope="request"name="all">
  2. ${item.itemname}<br>
  3. <logic:iterateid="subitem"name="item"property="iasubitems">
  4. |-${subitem.subname}<br>
  5. </logic:iterate>
  6. </logic:iterate>
分享到:
评论

相关推荐

    Hibernate教程24_Hibernate的补充_list与iterator

    【标题】"Hibernate教程24_Hibernate的补充_list与iterator" 在Java开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了数据库操作。本教程将重点讲解在使用Hibernate时,如何处理查询结果集合...

    Map、Set、Iterator迭代详解

    ### Map接口详解 #### 1. Map接口概览 ...通过以上对`Map`、`Set`、`Iterator`以及Java集合框架的详细介绍,我们不仅可以了解到这些接口和类的基本概念和使用方法,还能深入理解它们在实际编程中的应用价值。

    Collection、Map、List、Set、Iterator

    ### Collection、Map、List、Set、Iterator 的详细解析 #### Collection 接口 - **定义**:`Collection` 是 Java 集合框架的核心接口之一,几乎所有其他集合接口都直接或间接继承自它。它提供了对集合进行增删查改...

    Hibernate的缓存级联查询

    外键映射是通过在主表映射文件中使用`one-to-one`元素,而从表映射文件中使用`many-to-one`元素来实现。主键映射则是两个实体类的主键相互关联,这需要在`one-to-one`节点上设置`constrained`属性为`true`,以表明...

    一个使用iterator和json技术的实例

    在Java编程语言中,`Iterator`接口和`Iterable`接口是处理集合数据的重要工具,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于数据传输和存储。这个"iterator_jsonDemo"实例结合了这...

    Hibernate笔记

    &lt;many-to-one name="classes" column="classesid" fetch="select"/&gt; ``` - **Fetch="join"**: 指定使用`JOIN FETCH`策略,即在加载主对象的同时,通过`JOIN`语句一次性加载关联对象。这可以减少数据库查询次数,但...

    Hibernate的延迟加载

    &lt;one-to-many class="net.ftng.entity.Address"/&gt; &lt;/set&gt; &lt;/hibernate-mapping&gt; ``` 考虑以下代码: ```java User user = (User) session.load(User.class, "1"); Collection addset = user.getAddresses(); /...

    commons-collections4-4.1

    Commons-Collections seek to build upon the JDK classes by providing new interfaces, ...Utilities to test or create typical set-theory properties of collections such as union, intersection, and closure

    一个Iterator的实例1---马克-to-win java视频

    一个Iterator的实例1---马克-to-win java视频迭代器的详细描述

    一个运用Extjs,Struts2, json,iterator技术构建的iterator_jsonDemo2。 将数据从后台传到Extjs表现层。

    一个运用Extjs,Struts2, json,iterator技术构建的iterator_jsonDemo2。... Use Extjs,Struts2, JSON,iterator technology, Data to Extjs from the background layer. Comment more, for your reference.

    iterator_adaptor.pdf

    Boost库中的`iterator_adaptor`是一个强大的工具,用于创建自定义迭代器。这个模板类允许程序员以一种灵活的方式包装现有的迭代器类型,以适应特定的需求或扩展其功能。`iterator_adaptor`的设计理念是基于`iterator...

    优化Hibernate性能的几点建议

    ### 优化Hibernate性能的几点建议 #### 一、概述 Hibernate作为Java开发中非常流行的ORM(对象关系映射)框架之一,在实现Java对象与数据库之间的转换方面发挥了重要作用。然而,在实际应用过程中,为了提高系统的...

    struts2 标签iterator使用

    在Struts2框架中,`&lt;s:iterator&gt;`标签是一个非常强大的工具,用于遍历集合或数组中的元素,尤其在处理列表数据时极为有用。通过本文档提供的代码示例,我们将深入探讨`&lt;s:iterator&gt;`标签的使用方法及其与不同数据...

    iterator嵌套,struts2

    在Struts2框架中,`iterator`标签是一个非常重要的组件,用于遍历各种集合对象,如List、Map等。在上述描述中,开发者遇到了一个关于`iterator`标签嵌套使用的问题,涉及到`LinkedHashMap`存储的数据结构。让我们...

    Iterator接口

    "Iterator接口" Iterator接口是Java编程语言中的一种接口,用于对集合进行迭代操作。它提供了一个通用的方式来遍历集合中的元素,而不管集合的具体实现类型。 Iterator接口的主要方法有三个:hasNext()、next()和...

    模拟java ArrayList Iterator

    ArrayList提供了一种高效的方式来管理大量的元素,并且提供了迭代器(Iterator)来遍历这些元素,使得我们可以在不暴露底层实现细节的情况下访问和修改列表中的元素。这个资源的目的是通过模拟Java ArrayList的...

    JDBC与Hibernate区别

    然而,由于其内部的映射和对象创建过程,对于大量数据操作,Hibernate可能会比JDBC慢一些,尤其是在使用Iterator遍历大数据集时。 在性能方面,JDBC通常在数据读写速度上占有优势,特别是当使用批处理时。而...

    hibernate_third项目源码

    **hibernate_third项目源码**是一份专用于展示Hibernate框架不同查询技术的代码实例,涵盖了query、criteria以及SQL查询等多种方法。通过深入理解和实践这些源码,开发者可以更好地掌握Hibernate在实际开发中的应用...

    hibernate criteria 分组 排序 关联

    ### Hibernate Criteria 分组、排序与关联查询详解 #### 标题与描述理解 - **标题**:“hibernate criteria 分组 排序 关联”这一标题明确了本文将围绕Hibernate Criteria API进行分组、排序以及关联查询的具体...

    Iterator用法

    ### C++中的Iterator模式详解 #### 什么是Iterator模式? 在软件工程中,设计模式是一种用于解决特定问题的通用可重用解决方案。Iterator模式是其中的一种,其主要目标是在不暴露集合内部结构的情况下,为遍历集合...

Global site tag (gtag.js) - Google Analytics