*PostgreSQL
*Eclipse
*Tomcat
*JSP
!!!実施手順
!PostgreSQL インストール
*2021/11 時点の最新1つ前
*インストール先例 : Windows 10 Pro 2004 19041.1237
*postgresql-12.8-2-windows-x64.exe
*ダブルクリックでインストーラ起動
*「このアプリがデバイスに変更を加えることを許可しますか?」はい
*「Setup - PostgreSQL」Next
{{ref_image 20211109_postgresql_001_installer.png}}
*「Installation Directory」変更なし、Next
{{ref_image 20211109_postgresql_002_install_directory.png}}
*「Select Components」変更なし、Next
{{ref_image 20211109_postgresql_003_select_components.png}}
*「Data Directory」変更なし、Next
{{ref_image 20211109_postgresql_004_data_directory.png}}
*「Password」入力2回、Next
{{ref_image 20211109_postgresql_005_superuser_password.png}}
*「Port」変更なし、Next
{{ref_image 20211109_postgresql_006_listen_port.png}}
*「Advanced Options / Select Locale」変更なし、Next
{{ref_image 20211109_postgresql_007_default_locale.png}}
*「Pre Installation Summary」変更なし、Next
{{ref_image 20211109_postgresql_008_install_summary.png}}
*「Ready to Install」確認、Next
{{ref_image 20211109_postgresql_009_install_ready.png}}
*「Installing」待機
{{ref_image 20211109_postgresql_010_installing.png}}
*「Completing」Finish
{{ref_image 20211109_postgresql_011_installed.png}}
*「スタックビルダー」キャンセル
{{ref_image 20211109_postgresql_012_stack_builder.png}}
!psql 起動
*スタート --> PostgreSQL 12 --> SQL Shell (psql)
*SQL 動作確認
select * from pg_user;
{{ref_image 20211109_postgresql_013_psql.png}}
*サーバーヘルプ
help
help select
help alter table
*クライアントヘルプ
\q
*psql クライアントコマンド
\du
\l
\z
!郵便番号データのダウンロード
*https://www.post.japanpost.jp/zipcode/download.html ダウンロードページ
*https://www.post.japanpost.jp/zipcode/dl/kogaki-zip.html 「小書き」データのページ
*https://www.post.japanpost.jp/zipcode/dl/readme.html データの説明
全国地方公共団体コード(JIS X0401、X0402)……… 半角数字
(旧)郵便番号(5桁)……………………………………… 半角数字
郵便番号(7桁)……………………………………… 半角数字
都道府県名 ………… 半角カタカナ(コード順に掲載) (注1)
市区町村名 ………… 半角カタカナ(コード順に掲載) (注1)
町域名 ……………… 半角カタカナ(五十音順に掲載) (注1)
都道府県名 ………… 漢字(コード順に掲載) (注1,2)
市区町村名 ………… 漢字(コード順に掲載) (注1,2)
町域名 ……………… 漢字(五十音順に掲載) (注1,2)
一町域が二以上の郵便番号で表される場合の表示 (注3) (「1」は該当、「0」は該当せず)
小字毎に番地が起番されている町域の表示 (注4) (「1」は該当、「0」は該当せず)
丁目を有する町域の場合の表示 (「1」は該当、「0」は該当せず)
一つの郵便番号で二以上の町域を表す場合の表示 (注5) (「1」は該当、「0」は該当せず)
更新の表示(注6)(「0」は変更なし、「1」は変更あり、「2」廃止(廃止データのみ使用))
変更理由 (「0」は変更なし、「1」市政・区政・町政・分区・政令指定都市施行、「2」住居表示の実施、「3」区画整理、「4」郵便区調整等、「5」訂正、「6」廃止(廃止データのみ使用))
*https://www.post.japanpost.jp/zipcode/dl/kogaki/zip/ken_all.zip 郵便番号データの zip
*zip を windows で展開
*dir で確認
D:\>dir d:\@user\tmp\ken_all\KEN_ALL.CSV
d:\@user\tmp\ken_all のディレクトリ
2021/11/09 22:49 12,331,932 KEN_ALL.CSV
1 個のファイル 12,331,932 バイト
!テスト用データベースの作成と削除
*テスト用データベース TESTDB の作成
postgres=# CREATE DATABASE TESTDB;
CREATE DATABASE
*データベース一覧確認
postgres=# \l
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権限
-----------+----------+------------------+--------------------+--------------------+-----------------------
postgres | postgres | UTF8 | Japanese_Japan.932 | Japanese_Japan.932 |
template0 | postgres | UTF8 | Japanese_Japan.932 | Japanese_Japan.932 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | Japanese_Japan.932 | Japanese_Japan.932 | =c/postgres +
| | | | | postgres=CTc/postgres
testdb | postgres | UTF8 | Japanese_Japan.932 | Japanese_Japan.932 |
(4 行)
*管理者DBに接続切り替え
postgres=# \c testdb
データベース"testdb"にユーザ"postgres"として接続しました。
*管理者DBに接続復旧
testdb=# \c postgres
データベース"postgres"にユーザ"postgres"として接続しました。
*テスト用データベース TESTDB の削除
postgres=# DROP DATABASE TESTDB;
DROP DATABASE
!郵便番号データテーブル作成
*テーブル作成SQLの実行
CREATE TABLE ken_all (
jiscode VARCHAR(5),
zipcode_old VARCHAR(5),
zipcode VARCHAR(7),
prefecture_kana VARCHAR(15),
city_kana VARCHAR(31),
town_kana VARCHAR(255),
prefecture VARCHAR(15),
city VARCHAR(31),
town VARCHAR(255),
flag1 INTEGER,
flag2 INTEGER,
flag3 INTEGER,
flag4 INTEGER,
flag5 INTEGER,
flag6 INTEGER
);
postgres=# CREATE TABLE zipcode (
postgres(# jiscode VARCHAR(5),
postgres(# zipcode_old VARCHAR(5),
...中略
postgres(# flag6 INTEGER
postgres(# );
CREATE TABLE
*テーブル構造表示
\d KEN_ALL
postgres=# \d ken_all
テーブル"public.ken_all"
列 | 型 | 照合順序 | Null 値を許容 | デフォルト
-----------------+------------------------+----------+---------------+------------
jiscode | character varying(5) | | |
zipcode_old | character varying(5) | | |
...以下略
*ken_all.CSV からデータのインポート
\copy ken_all from 'D:\@user\tmp\ken_all\KEN_ALL.CSV' with csv encoding 'shift_jis';
postgres=# \copy ken_all from 'D:\@user\tmp\ken_all\KEN_ALL.CSV' with csv encoding 'shift_jis';
COPY 124506
*ken_all 確認
postgres=# select count(*) from ken_all;
count
--------
124506
(1 行)
*いろいろ検索
postgres=# select * from ken_all where town like 'XXX%';
jiscode | zipcode_old | zipcode | prefecture_kana | city_kana | town_kana | prefecture | city | town | flag1 | flag2 | flag3 | flag4 | flag5 | flag6
---------+-------------+---------+-----------------+-----------+-------------+------------+--------------+----------+-------+-------+-------+-------+-------+-------
14103 | 220 | 2200042 | カナガワケン | ヨコハマシニシク | トベチョウ | 神奈川県 | 横浜市西区 | 戸部町 | 0 | 0 | 1 | 0 | 0 | 0
14103 | 220 | 2200041 | カナガワケン | ヨコハマシニシク | トベホンチョウ | 神奈川県 | 横浜市西区 | 戸部本町 | 0 | 0 | 0 | 0 | 0 | 0
23112 | 457 | 4570842 | アイチケン | ナゴヤシミナミク | トベシタ | 愛知県 | 名古屋市南区 | 戸部下 | 0 | 0 | 1 | 0 | 0 | 0
23112 | 457 | 4570043 | アイチケン | ナゴヤシミナミク | トベチョウ | 愛知県 | 名古屋市南区 | 戸部町 | 0 | 0 | 1 | 0 | 0 | 0
(4 行)
town like 'XXX%'
town like '%XXX%'
town like '%XXX'
town_kana like '%アイウエオ%'
select count(*) from ken_all where town like 'XXX%';
select prefecture,count(*) from ken_all group by prefecture order by count(*);
!Eclipse インストール
*Eclipse (Pleiades All in One)
*Windows 64bit
*Java Full Edition
*pleiades-2021-12-java-win-64bit-jre_20211108.zip
*zip 展開
*配置先例1: C:\pleiades 起動 C:\pleiades\eclipse\eclipse.exe 実行
*配置先例2: C:\Users\nonaka\pleiades\ 起動 C:\Users\nonaka\pleiades\eclipse\eclipse.exe 実行
!プロジェクト作成
*ファイル --> 新規 --> その他
*Web --> 動的 Web プロジェクト
*名称指定 samplejsp / sampleJSP / sampleJsp
*「web.xml デプロイメント奇術師の生成」にチェックを入れる
*コンテキストルート : sj URL http://localhost/sj/testpage001.jsp URL のホスト名以降の開始文字列を指定
*/sj/ を指定すると sampleJSP プロジェクトのファイルが利用される。
!JSP ファイル作成
*samplejsp プロジェクトの WebContent を右クリック
*新規 --> その他
*Web --> JSP ファイル
*名称指定 testpage001.jsp
*testpage001.jsp をダブルクリックして編集
雨ニモマケズ 風ニモマケズ
雪ニモ夏ノ暑サニモマケヌ 丈夫ナカラダヲモチ
慾ハナク 決シテ瞋ラズ イツモシヅカニワラッテヰル
一日ニ玄米四合ト 味噌ト少シノ野菜ヲタベ
アラユルコトヲ ジブンヲカンジョウニ入レズニ
ヨクミキキシワカリ ソシテワスレズ
野原ノ松ノ林ノ蔭ノ 小サナ萓ブキノ小屋ニヰテ
東ニ病気ノコドモアレバ 行ッテ看病シテヤリ
西ニツカレタ母アレバ 行ッテソノ稲ノ束ヲ負ヒ
南ニ死ニサウナ人アレバ 行ッテコハガラナクテモイヽトイヒ
北ニケンクヮヤソショウガアレバ ツマラナイカラヤメロトイヒ
ヒドリノトキハナミダヲナガシ
サムサノナツハオロオロアルキ
ミンナニデクノボートヨバレ
ホメラレモセズ クニモサレズ
サウイフモノニ ワタシハナリタイ
*
*