- 浏览: 702503 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (362)
- java基础 (33)
- html/css+div/javascript (17)
- Ajax/XML/JSON/XSL (7)
- JQuery (11)
- Extjs (1)
- JSP/Servlet (19)
- MVC模式 (4)
- struts 1 (17)
- Struts 2.3.4 (17)
- Spring 3.2 (26)
- Springmvc (3)
- Hibernate 4.1 (21)
- ibatis (6)
- Velocity模板语言 (2)
- Rose框架 (5)
- EJB (1)
- JUnit测试 (2)
- 数据库DB (24)
- 重构 / 设计模式 (3)
- 开发工具IDE (37)
- 数据结构与算法设计 (3)
- Android (12)
- Linux (4)
- bug集合 (29)
- 缓存技术(redis) (3)
- Lucene全文索引 (15)
- maven3.0.5 (4)
- 小工具集合 (18)
- 面试题 (5)
- 闲聊 (11)
- 其他 (4)
- 接口API (2)
- work (2)
- Flex (0)
- JMS (1)
- 开源项目集合 (1)
- 技术博客 (1)
- 分类04 (0)
- 分类05555 (0)
最新评论
-
小小小羊:
好屌...
java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$Refle -
liubinli2005:
这个可以脱底spring。单独使用吗?
DAO层:jade -
cangbaotu:
我觉得对于开发者来说,能脚本化编写爬虫是一件挺开心的事情( ̄▽ ...
网页爬取 -
asjava:
很好的文章, 但每段代码清单都重复了一次.
spring 事务 -
xia635317478:
jethypc 写道验证码的session无法传过去啊 还是我 ...
登陆验证码(struts2实现)
树状结构Tree
一、部门类Org.java
import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; @Entity public class Org { private int id; private String name; private Set<Org> children = new HashSet<Org>(); private Org parent; @Id @GeneratedValue 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; } @OneToMany(cascade=CascadeType.ALL, mappedBy="parent" ,fetche=FetcheType.EAGER) public Set<Org> getChildren() { return children; } public void setChildren(Set<Org> children) { this.children = children; } @ManyToOne @JoinColumn(name="parent_id") public Org getParent() { return parent; } public void setParent(Org parent) { this.parent = parent; } }
二、递归输出
import java.util.Map; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; public class HibernateTreeTest { private static SessionFactory sessionFactory; @BeforeClass public static void beforeClass() { new SchemaExport(new AnnotationConfiguration().configure()).create(false, true); sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); } @AfterClass public static void afterClass() { sessionFactory.close(); } @Test public void testSave() { Org o = new Org(); o.setName("总公司"); Org o1 = new Org(); o1.setName("分公司1"); Org o2 = new Org(); o2.setName("分公司2"); Org o11 = new Org(); o11.setName("分公司1下部门1"); Org o12 = new Org(); o12.setName("分公司1下部门2"); o.getChildren().add(o1); o.getChildren().add(o2); o1.getChildren().add(o11); o1.getChildren().add(o12); o11.setParent(o1); o12.setParent(o1); o1.setParent(o); o2.setParent(o); Session session = sessionFactory.openSession(); session.beginTransaction(); session.save(o); session.getTransaction().commit(); session.close(); } @Test public void testLoad() { testSave(); Session session = sessionFactory.openSession(); session.beginTransaction(); Org o = (Org)session.load(Org.class, 1); print(o, 0); session.getTransaction().commit(); session.close(); } private void print(Org o, int level) { String preStr = ""; for(int i=0; i<level; i++) { preStr += "----"; } System.out.println(preStr + o.getName()); for(Org child : o.getChildren()) { print(child, level+1); } } @Test public void testSchemaExport() { new SchemaExport(new AnnotationConfiguration().configure()).create(false, true); } public static void main(String[] args) { beforeClass(); } }
发表评论
-
hibernate缓存总结
2013-09-05 09:54 746hibernate缓存总结 Hibernat ... -
Hibernate原理
2013-09-05 09:10 1189Hibernate原理 1.hibernate ... -
getHibernateTemplate().save和super.getHibernateTemplate().merge
2012-12-05 15:16 3006代码1_save: super.getHibernate ... -
分页查询
2012-12-03 16:57 847HibernateTemplate提供了非常多的常用方法来完成 ... -
mappingResource属性和mappingDirectoryLocations属性的使用
2012-11-19 16:54 648mappingResource属性和mappingDirect ... -
S2SH整合
2012-11-12 16:08 1085Struts2_spring_Hibernate整合 MyE ... -
spring中配置log4j
2012-11-10 16:30 1651log4j 和 slf4j slf4j和log4j用于做日志 ... -
log4j 和slf4j
2012-11-11 20:55 874http://sishuok.com/forum/blogPo ... -
Hibernate两级缓存
2012-10-29 17:01 768Hibernate两级缓存 一级缓存就是Session级别 ... -
数据加载 load get list iterator
2012-10-07 11:14 1072Hibernate的优化-数据加载 除了对映射文件的配置外 ... -
栏目、帖子、回复(设置导航ManyToOne便于操作 QBC/QBE语句)02
2012-10-06 11:39 1081栏目、帖子、回复(设置导航ManyToOne便于操作QBC/Q ... -
栏目、帖子、回复(设置导航便于操作)HQL使用01
2012-10-06 11:28 960栏目、帖子、回复(设置导航ManyToOne便于操作 HQL语 ... -
Many-To-Many (学生、课程、分数)
2012-10-05 17:41 1340Many-To-Many (学生、课程、分数) 多对多: 一个 ... -
CUDR_Fetch 和 Cascade
2012-10-05 16:05 4706CUDR_Fetch 和 Cascade 1.Fetch ... -
OneToOne 、OneToMany 、 ManyToMany
2012-10-05 10:31 3548OneToOne OneToMany ManyToMa ... -
ID生成策略
2012-10-04 16:18 3925ID生成策略 1.XX.hbm.xml方 ... -
对象的几种状态
2012-10-04 14:10 1401对象的几种状态 1.Transient 刚new一个 ... -
load 和 get的区别
2012-10-04 11:49 1253session加载数据库数据时,load 和 get 1. ... -
Hibernate 注解和配置文件由ORM框架连接库
2012-10-02 12:30 4196Hibernate 注解和配置文件由ORM框架连接库 xm ... -
Hibernate 实现原理
2012-09-12 23:20 4189整体流程 1:通过configuration来读cfg.xml ...
相关推荐
"list转树状结构"就是其中的一种常见需求,特别是在数据可视化、数据库查询优化或者构建层次化菜单等场景下。本篇将深入探讨如何实现一个非递归的、支持多个顶级节点的通用工具类来完成这一任务。 首先,我们需要...
树状结构是一种重要的数据结构,它在计算机科学中被广泛应用于各种问题的解决,比如文件系统、数据库索引、编译器语法分析等。在C语言中,理解并实现树状结构是编程能力的重要体现。 首先,我们来看树状结构的基本...
在Web开发中,数据的层级展示经常需要用到树状结构。z-Tree 是一个高效且功能丰富的JavaScript树状插件,适用于构建动态、交互式的树形视图。该插件以其简洁的API、强大的自定义功能以及良好的性能表现,深受开发者...
通过解析Json数据生成树状结构 1、使用newtonsoft.json解析json 2、无限级 3、父子节点联动
将本体解析为树状结构是一种常见的可视化方式,可以帮助用户更好地理解本体的层次结构和概念之间的关系。树状结构通常以节点表示概念,以边表示概念之间的关系。 ### 使用 Jena 构建本体树状结构 #### 1. 导入必要...
标题 "一个树状结构列表.zip" 提供的信息表明,这个压缩包包含了一个实现树状结构列表的开源项目。树状结构列表是一种数据呈现方式,它模仿了自然界中的树形结构,用于表示层次关系的数据。在计算机科学中,尤其是在...
在Swing中,我们可以利用JTree创建一个可拖放(Drag and Drop)的树状结构,使得用户能够通过简单的拖拽操作来移动或插入节点。这种功能在数据组织和展示时非常实用,例如在文件系统管理、项目管理或复杂数据结构的...
**jsTree:构建前端树形结构的利器** jsTree 是一个强大的 JavaScript 库,专用于在 Web 页面上创建交互式的树形结构。它基于纯 JavaScript 编写,无需依赖其他库,因此对于初学者和有经验的开发者来说,都是一个...
z-tree是一款优秀的JavaScript树状组件,它专为满足这种需求而设计,提供丰富的功能和高度的可定制性,使得开发者能够轻松地在网页中构建出美观且实用的树状结构。 **1. 功能特性** z-tree具备以下关键特性: - *...
基于Vue-Ztree-2.0实现树状结构的展示 启动步骤: 1.cmd至前端项目根目录执行“npm install”命令 2.“npm start”命令启动项目 后端项目:tree 基于springboot、mybaits-plus、mysql实现树状结构 启动步骤: 1.mvn...
在IT领域,特别是前端开发中,"各种树状结构JS特效"是一个常见的需求,用于构建交互式的、层次化的用户界面。树状结构是一种数据表示形式,它由节点组成,每个节点可以有零个或多个子节点,形成了一个层级关系。在...
树状结构(Tree Structure)在计算机科学中被广泛应用于数据组织,尤其在UI设计中,常用来表示层次关系的数据,例如文件系统、组织结构等。在Web应用中,树形结构可以用于展现目录层级、导航菜单、权限管理等场景。`...
在IT领域,树状菜单是一种常见的用户界面元素,它用于以层级结构展示数据,使得用户可以方便地导航和浏览复杂的目录或信息结构。本资源"开源Tree树状菜单HTML+Javascript兼容各浏览器"提供了一个解决方案,它利用...
一个React组件,用于有效地渲染树状结构并支持位置:粘性。 react-virtualized-sticky-tree使用类似的API进行 。 演示版 入门 npm install react-virtualized-sticky-tree --save 用法 基本范例 import { ...
树状结构在信息技术中是一种非常基础且重要的数据结构,它被广泛应用于计算机科学的各个领域,如文件系统、数据库索引、编译器设计、图形学、算法设计等。在这个"树形结构案例"中,我们可以深入理解树的定义、特性和...
在JavaScript编程中,树状结构是一种常见的数据组织方式,它模拟了自然界中的树形关系,节点之间通过父子关系连接。这种结构广泛应用于文件系统、网页DOM(文档对象模型)以及组织复杂的逻辑结构等场景。本篇文章将...
1. **树状结构(Tree Structure)**: 树状结构是一种数据组织方式,模拟自然界中的树,其中每个节点(Node)可以有零个或多个子节点。在计算机科学中,这种结构常用于表示具有层次关系的数据,如文件系统、组织架构...
**dtree树状结构插件** 是一种用于在网页中展示层次化数据的工具,它以树形结构呈现信息,使用户能够清晰地理解和导航复杂的层级关系。在网页设计和开发中,dtree插件因其易用性和免费特性而受到欢迎。 **dtree的...
【项目介绍】:将 数组转换成树状结构 的帮助类 $TreeBuild = new TreeBuild($array); //初始化 $TreeBuild->sort = true; //是否排序 $TreeBuild->sortField = 'sort'; //排序字段 $TreeBuild->topId='0'; //...
本项目通过ListView实现了树状结构,这在展示层级关系或者分类信息时非常实用,例如文件系统、组织结构或者菜单等。 首先,要理解在Android中如何使用ListView,关键在于Adapter的使用。Adapter是连接数据源和...