哦。。
我是说如果某种商品其有某些分类,这些子分类中又有其相应的下一级分类,以此类推(形式如1.1,1.1.1,1.1.1.1)则这些分类信息及其相应的商品信息在数据库中(jsp+mysql)要怎么保存,数据库的结构要怎样设计。要怎么样读取内容,并可形成目录树?
我是说如果某种商品其有某些分类,这些子分类中又有其相应的下一级分类,以此类推(形式如1.1,1.1.1,1.1.1.1)则这些分类信息及其相应的商品信息在数据库中(jsp+mysql)要怎么保存,数据库的结构要怎样设计。要怎么样读取内容,并可形成目录树?
解决方案 »
- Tomcat 项目路径 配置到F:\Release\DGHIS目录下
- 关于struts<s:iterator>中<s:if>比对失效
- 4年java开发工作经验进深圳华为能拿多少钱一个月?
- JPA怎么关联实体类啊
- requst对象如何获取请求地址的域名
- JAVA中,用prepareStatement的方式,怎么查看真正执行的SQL?
- 复选框在多个页面传值的问题
- 根据用户名,显示相应的菜单
- 用java怎么检测一个字符串是否是合法的日期格式?
- 网页表单的file元素怎么添加文件过滤?
- 熟悉公文流转设计(工作流处理)的牛请进。。。
- 毕业设计我认为做得较好的一个“组件”《动态柱状图输出》,帖出来大家一起讨论。
商品 服装,食品,.....
食品 糕点,水果,.....
水果 苹果,桃子.....
|——目录1 |——子目录1
|——目录2-|——子目录2
|——... |——...
根目录--|——...
|——目录n
对于这个树的搜索一般涉及两种方法:深度搜索、广度搜索。
深度搜索的路径:根目录->目录2->子目录1->直到这个分支完毕->回溯上一级...
广度搜索的路径:根目录->下一级的所有目录->第二级的所有目录...
这里简单写一下,看看数据结构方面的书籍
你说的“无限目录”的设计思路是基于递归的;
但是对于递归的层次应该有限制,否则会占用系统大量的资源。
设计的要点是数据库的结构(目录结构的映射)。
对于一个目录既是一个树的节点,除了目录外还应该有元素(例如某目录下的文件)
节点(node)具有几个基本的属性:编号、名称、层数、是否叶子、父目录编号、是否含有子目录或子元素;
可以建立节点基本模型:Node
名称 类型 说明
number Number 节点编号
name Vchar 节点名称
level Number 节点层数
f_number Number 父节点编号
child Number/Bollean 是否含有子节点
is_leaf Number/Bollean 是否叶子
is_dir Number/Bollean 是否目录根据实际画树的需要,产生节点子模型:MyNode extends Node
status Number 节点开关状态
link_name Number 链接模型关系:
Node
△
| 1...*
MyNode──┐
│ │
└ ───┘
显示树的思路:比较有效率的算法是以广度搜索为主,辅以有限制的深度搜索。
即首先搜索当前目录下的所有下一级子目录,处于平衡性能考虑可以对这些子目录进行深一级的搜索。特别警告:不要考虑一次将树全部生成!
对于模型Node应提供几个基本的方法:
createNode()、getNode()、deleteNode()、modifyNode()、getNextNode()、isLeaf()、hasChild();和显然还需要一些改变节点个别属性值得方法,略...
呵呵,很通用的名字啊,就不写中文了。
对于模型MyNode还应提供画树需要的特殊方法:
getStatus()开闭状态、getTreeStr()生成在页面上画树的脚本等等哈哈,当面随便写的,你自己先做个最简单熟悉树相关的算法。
java有专门的Tree类,不过个人认为不太灵活。
我这里没有适合你用的结构简单清晰的代码例子,这种树的代码如果不清楚原理是很难看懂的;建议还是从最简单的做起。