ともさんのHP >プロブラミング >自作JavaLibrary >ツリー図の自動作成
データベースとJAVAを使ってツリー図を自動作成する方法
ホームページなどのページ間関係を自動的に作る方法を考えたので公開しておきます。
どうでもよいことなのですが、個人的にはこの作成方法を考えてとても機嫌がよいです。
このホームページのトップに貼ってあるツリー図
こちら
は、この方法を用いて自動生成しています。
データベースと親子関係の作成
まずはデータベースの作成。1行が1枚のページにあたります。ページには自身番号と、その親になる
ページの番号を付けておきます。これをたどってツリーを作ります。
次にクエリを作成。
同じテーブルを3つ並べた妙なリレーションを組みます。
今回は階層構造が3つなので、テーブルも3つですが、階層が増えればその数だけテーブルを連結してあげます。
クエリの実行結果が下の図。
JAVAを用いてツリー図を自動作成
データベースで作成した上のクエリを、JAVAで読み込みます。
クエリを配列として読み込んで、下の図に示す順序で配列を変更してゆきます。
1は読み込んだそのままの配列。
2は条件を満たした位置で配列に隙間を作ります。条件は説明するとややこしいので割愛いたします。
3で隙間に文字列を挿入。
4で文字列を罫線文字に差し替えます。このときの条件も定義がありますが、再び割愛いたします。
5は4の段階では直せない部分の修正。
6で最終的に配列をまとめて一つの文字列にします。
ツリー図を自動作成する効果
データベース上で、親を付け替えるだけで、ツリー図を自動的に変更できます。
私の場合、ホームページをデータベースに入れていて、更新するたびに
JAVA
楽天 を用いてHTMLファイルを書き換えているので、
自動的に更新してくれるのはとても便利です。
とはいっても、ツリー図はあまり変更するものではないので、手動でそのつど変更してもさほど手間はかからないとは思います。
こうしたツリー図を頻繁に変更するような場合であれば、こうした自動化の効果は高いと思います。
最終更新日: 2012-10-04 21:49:54
ともさんのHP >プロブラミング >自作JavaLibrary >ツリー図の自動作成
ツイート