`
java_mike
  • 浏览: 85289 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

面向对象的树型结构设计与实现

阅读更多
面向对象树型结构的设计与实现,以机构为例,机构有它的上级机构和下级机构,以下是相关代码的实现:

Orgnization.java
package com.changtu.oa.model;

import java.util.Set;

/**
 * 组织机构(树型结构)
 * @author Mike
 *
 */
public class Orgnization {

	private int id;
	/**
	 * 机构名称
	 */
	private String name;
	/**
	 * 
	 */
	private String sn;
	/**
	 * 机构描述
	 */
	private String description;
	
	/**
	 * 树型结构,一对多的双向关联
	 */
	private Orgnization parent;
	private Set children;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSn() {
		return sn;
	}
	public void setSn(String sn) {
		this.sn = sn;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public Orgnization getParent() {
		return parent;
	}
	public void setParent(Orgnization parent) {
		this.parent = parent;
	}
	public Set getChildren() {
		return children;
	}
	public void setChildren(Set children) {
		this.children = children;
	}
}


hibernate的映射配置:Orgnization.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class table="T_Orgnization" name="com.changtu.oa.model.Orgnization">
		<id name="id">
			<generator class="identity" />
		</id>
		<property name="name"></property>
		<property name="sn"></property>
		<property name="description"></property>
		
		<!-- 树型结构,一对多双向关联 -->
		<many-to-one name="parent" column="pid" lazy="false"></many-to-one>
		<set name="children" inverse="true" cascade="all">
			<key column="pid"></key>
			<one-to-many class="com.changtu.oa.model.Orgnization" />
		</set> 
		
	</class>

</hibernate-mapping>


   以上是实体以及hibernate配置文件的编写,具体服务层接口的定义与实现和呈现层的实现可以根据的需求去给予实现。
分享到:
评论
1 楼 ningmenglovesoft 2009-09-08  
貌似自连接。

相关推荐

    树型结构的存储文件 VB源码

    VB(Visual Basic)是微软公司开发的一种面向对象的编程语言,它提供了丰富的控件和函数库,使得开发者能够方便地创建图形用户界面和处理各种数据结构,包括树型结构的存储文件。 本源码“树型结构的存储文件 VB...

    数据结构课程设计之文件目录管理系统

    总的来说,这个数据结构课程设计项目涉及了数据结构、算法、文件系统API、面向对象编程以及GUI开发等多个方面的知识,是一个综合性的实践项目,对提升开发者的技术能力和解决问题的能力大有裨益。

    树形目录文件管理系统

    本系统是自己实现tomcat功能,大了一个简易的web服务器,同时利用反射和注解实现了...前端使用Html+Css+JS实现面向对象编程,实现树形目录结构,实现展开关闭,保存下载功能,是一个功能比较完善的文件管理系统

    C# 数据结构 面向对象讲述

    《C# 数据结构 面向对象讲述》是一本旨在帮助读者深入理解数据结构原理,并运用C#语言实现这些原理的实用教程。随着.NET平台的兴起和发展,C#作为一种高效的编程语言,逐渐成为软件开发领域的主流选择之一。本书正是...

    c++面向对象程序设计报告

    根据给定的信息,可以看出这份文档涉及的是C++面向对象编程的一些基本概念以及一些与网络相关的题目。接下来将根据这些信息生成相关的知识点。 ### C++面向对象程序设计 #### 定义一个类 在C++中,类是面向对象...

    易语言树型框扩充

    通过这个易语言树型框扩充源码,开发者不仅可以掌握树型框的基本操作,还能学习到如何利用源码扩展提高开发效率,理解面向对象编程的思想,以及如何设计和实现高效的算法来处理复杂的数据结构。对于想要深入学习...

    易语言源码树型数据类模块源码.rar

    《易语言源码树型数据类模块源码》是一个针对初学者和专业开发者的资源,主要涉及易语言编程环境下的数据结构与算法实现。易语言是中国本土开发的一种面向对象的程序设计语言,以其简单易学的特点深受广大程序员喜爱...

    南开大学复习资料-程序设计基础(下)1.docx

    本资源是南开大学程序设计基础课程的期末复习资料,涵盖了面向对象程序设计的基本概念、类和对象、构造函数、树型结构和图型结构等知识点。 一、面向对象程序设计的基本概念 面向对象程序设计是现代软件开发的主要...

    一个基于C#实现的递归法生成的树型菜单的程序源码

    综上所述,这个基于C#实现的递归法生成的树型菜单程序源码涵盖了C#编程、数据结构、递归算法、UI设计、事件处理、面向对象编程等多个核心IT概念,对于学习和理解C#应用程序开发具有很高的参考价值。

    Flash 8+C# 树型菜单

    在这种情况下,Flash 8可能被用来设计和实现树型菜单的视觉展示和用户交互部分,而C#可能用于处理菜单的数据源、动态加载内容以及与服务器的通信。 描述中的“Flash AS 与C#.2.0的菜单结果..学习非常好..”表明这个...

    易语言源码易语言树型资源管理源码.rar

    易语言是一种专为中国人设计的...同时,这对于初学者来说,是一个很好的实践案例,能够帮助他们理解面向对象编程和事件驱动编程的思想。对于有经验的开发者,也可以借鉴其中的设计模式和优化技巧,提升自己的编程技能。

    PHP论坛社区类网站实例开发源码——SimpleBoard(树型论坛) 多国语言版.zip

    SimpleBoard的实现离不开PHP的基本语法、变量、控制结构、函数以及面向对象编程等知识。开发者需要对PHP有深入理解,才能充分利用此源码进行定制。 **2. 数据库交互** SimpleBoard很可能依赖于MySQL或其他关系型...

    基于分布式组件的监测网络系统的设计与实现

    3. **网络化结构设计**:监测中心、各级监测站和设备通过联网形成一个局域网络,以树型结构管理,实现数据共享和统一管理。 4. **标准化模块设计**:各个功能模块独立运行,即使某个模块故障,也不会影响其他模块,...

    人大-面向对象程序设计-个人资料管理工具(免费下载)如需指导请加QQ2945047042

    一个“个人资料管理”工具软件,采用树型结构管理各种知识。 左边是一棵树,点击之后,在右边显示一个文本编辑器,用于显示和编辑信息。 1、树节点操作 左边的树支持所有常见的节点操作(可以使用上部的工具栏按钮...

    易语言大强学易之树型框与MDB数据库

    1. **易语言基础**:易语言是一种面向对象的、以中文为编程语句的编程环境,旨在降低编程难度,让编程更加直观。它支持常见的编程概念,如变量、函数、类和控制结构。 2. **树型框组件**:树型框在用户界面设计中...

    逐行读取节点的树型浏览控件

    总之,逐行读取节点的树型浏览控件是C#中处理大量层次数据的有效策略,它结合了C#的面向对象特性、事件驱动编程以及异步操作,实现了高效的数据加载和展示。通过这种方式,开发者可以创建出响应迅速、用户体验优良的...

    易语言树型资源管理源码.zip

    易语言是一种专为中国人设计的编程语言,它以简体中文作为编程语句,降低了编程的门槛,使得更多的人能够接触并学习编程。"易语言树型资源管理...同时,这也是一次实践面向对象编程思想和事件驱动编程模式的好机会。

    c sharp 数据结构的实现

    ### C# 数据结构的实现与理解 #### 引言 数据结构是计算机科学中的核心概念,它涉及到如何在计算机中组织和存储数据,以便能够高效地进行数据访问和操作。随着C#语言的兴起,越来越多的开发者开始使用C#来实现数据...

    易语言取树型框当前选中项的全路径

    首先,易语言是一种面向对象、组件化的中文编程语言,其目标是降低普通用户的编程难度,让编程更加简单。在易语言中,提供了丰富的控件和函数库来帮助开发者构建用户界面和处理各种逻辑。 树型框(Tree View)控件...

    无限级可刷新Js树型菜单

    无限级可刷新Js树型菜单是一种常见的前端交互设计,它在网页中用于展示层次结构的数据,如...开发者需要掌握Js的基本语法和面向对象编程思想,了解数据结构和算法,以及前端框架和库的使用,才能更好地实现这样的功能。

Global site tag (gtag.js) - Google Analytics