昔つくったWebサイトがレンタルサーバーごと逝った
ここですここでした↓
ぬるすぺいす八百万
どうやらリソース借りてたレンタルサーバーそのものがサービスを止めた模様?
こりゃ潮時かな、と少し前(と言っても数か月前か)に立ち上げたブログに移行しようと思ふ。
さらに数年前にこんなブログ(こちらも閉鎖)もつくっていたので、こちらも統合しておこうか……完全に個人的なメモであるが……。
IntelliJでMavenプロジェクト
はじめてまともにMavenを使ってみた浦島太郎な私は、なんだか妙にてこずった。
・New > Project でMavenプロジェクトを選択…ほんとにこれでいいのか? ってところで悩んだ。
>これでよかった。
・既存のartifactから作成ってのをなんか誤解して、poiのartifactを作成して、それを選んでとかよくわからないことをした。
>mavenが用意してる、quickstartのartifactでよかった。
>まーとりあえず、リモートからjar引っ張ってきて、ローカルに保存されると考えておけばいいんじゃね? 間違ってたらここ訂正。
・とりあえずpoiをdependencyしてみて、使ってみたが、excel2007以降(.xlsx)のワークブックが作れない。コンパイルエラー。
なんか別のjarのdependencyする必要があった。ややはまった。
(書きかけ)
IntelliJでJAX-RSのお試し
基本、以下のサイトの手順をそのまま実施。
違うのはエディタでコード&コマンドビルドじゃなく、IntelliJを使ったところ。
以下、引っかかったところや気づきなど。
・IntelliJのプロジェクトをEclipseのそれと同じ感覚で認識していると違和感が出る。
IntelliJのプロジェクトは、Eclipseでいうワークスペースと同等と思っていい。
ではEclipseのプロジェクトに当たるものはIntelliJだと「モジュール」がそれにあたる。
・tomcatに作成モジュールのライブラリとしてJAX-RSのjarを配置するときにつまらんミス。
JAX-RSのjarは「api」「ext」「lib」のフォルダに分かれていろいろ存在するが、それらをフォルダごとlibにコピーしてた。こんなつまらないミスするのは私だけか……。
・アノテーションって本当に便利だな。と浦島太郎な私はつくづく思うのだった。
とりあえず、何年かぶりのブログ書きなので、こんなところで。
パッケージの作成
あとで編集
・パッケージヘッダの定義
--パッケージ定義
CREATE OR REPLACE PACKAGE BOOKS_LEARNING AS
PROCEDURE HIGH_PRICE(
RET_PRICE_SUM OUT NUMBER,
RET_CD OUT NUMBER
);
PROCEDURE INSERT_WORK(
RET_CD OUT NUMBER
);
PROCEDURE MARGE_BOOK(
RET_CD OUT NUMBER
);
END;
パッケージボディの定義
--パッケージボディ定義
CREATE OR REPLACE PACKAGE BODY BOOKS_LEARNING AS
PROCEDURE HIGH_PRICE(
RET_PRICE_SUM OUT NUMBER,
RET_CD OUT NUMBER
) IS
CURSOR CUR001 IS
SELECT
URIMEI.BOOKID AS BOOKID,
URIMEI.SLIPNO AS SLIPNO,
URIMEI.PRICE AS PRICE
FROM
URIMEIDTL_TBL URIMEI
INNER JOIN
BOOK_MST BOOK
ON
URIMEI.SLIPNO = BOOK.CMNSLIPNO
AND URIMEI.BOOKID = BOOK.BOOKID
-- AND BOOK.BOOKID IN ('001014')
ORDER BY
URIMEI.BOOKID, URIMEI.SLIPNO;
PRICE_MAX NUMBER:=0;
BEGIN
-- DBMS_OUTPUT.PUT_LINE('TEST');
FOR URIMEI IN CUR001
LOOP
DBMS_OUTPUT.PUT_LINE('URIMEI : ' || URIMEI.BOOKID || ' ' || URIMEI.PRICE);
INSERT INTO LEARNING_WORK
VALUES (URIMEI.SLIPNO, URIMEI.PRICE, URIMEI.BOOKID,SYSDATE,'');
END LOOP;
END;
PROCEDURE INSERT_WORK(
RET_CD OUT NUMBER
) IS
PROCEDURE MARGE_BOOK(
RET_CD OUT NUMBER
) IS
CURSOR CUR002 IS
SELECT
URIMEI.SLIPNO AS SLIPNO,
URIMEI.BOOKNM AS BOOKNM,
URIMEI.PRICE AS PRICE
FROM
URIMEIDTL_TBL URIMEI
INNER JOIN
BOOK_MST BOOK
ON
URIMEI.SLIPNO = BOOK.CMNSLIPNO
AND
URIMEI.BOOKID = BOOK.BOOKID
ORDER BY
URIMEI.BOOKID, URIMEI.SLIPNO;
PRICE_MAX NUMBER:=0;
BEGIN
/*
FOR URIMEI IN CUR002
LOOP
INSERT INTO LEARNING_WORK
VALUES (URIMEI.SLIPNO, URIMEI.PRICE, URIMEI.BOOKNM, SYSDATE, SYSDATE );
END LOOP;
COMMIT;
*/
MERGE INTO LEARNING_WORK LW
USING
(
SELECT
UT.SLIPNO,UT.PRICE,UT.BOOKNM
FROM
URIMEIDTL_TBL UT
INNER JOIN
BOOK_MST BM
ON
UT.SLIPNO = BM.CMNSLIPNO
AND UT.BOOKID = BM.BOOKID
) UM
ON (UM.SLIPNO= LW.SLIPNO)
WHEN MATCHED THEN
UPDATE SET
PRICE = UM.PRICE,
BOOKNM = UM.BOOKNM,
UPD_DATE = SYSDATE
WHEN NOT MATCHED THEN
INSERT
( SLIPNO, PRICE, BOOKNM, INS_DATE, UPD_DATE )
VALUES
( UM.SLIPNO,
UM.PRICE,
UM.BOOKNM,
SYSDATE,
SYSDATE
);
END;
END;
・パッケージの実行
--パッケージ実行
DECLARE
RET_CD NUMBER:=0;
BEGIN
/*
BOOKS_LEARNING.HIGH_PRICE(RET_PRICE_SUM,RET_CD) ;
DBMS_OUTPUT.PUT_LINE(RET_PRICE_SUM) ;
DBMS_OUTPUT.PUT_LINE(RET_CD ) ;
*/
BOOKS_LEARNING.INSERT_WORK(RET_CD);
--BOOKS_LEARNING.MARGE_BOOK(RET_CD);
END;