Open Api 를 이용해서 Request & Response 된 데이타를
테이블에 저장하도록 한다.
Schema구성
>kakao open api 분석
>스키마구성
>mysql table 스크립트
-- <table SCHEMA> START-----------------------
CREATE TABLE `requestdata` (
`SQSeq` bigint(20) NOT NULL AUTO_INCREMENT,
`SearchKind` varchar(20) NOT NULL DEFAULT 'WEB',
`Query` varchar(100) NOT NULL,
`SearchDate` date NOT NULL,
PRIMARY KEY (`SQSeq`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `responsedata` (
`SQSeq` bigint(20) NOT NULL,
`SubSeq` bigint(20) NOT NULL,
`Title` varchar(300) NOT NULL DEFAULT 'ETC',
`Contents` varchar(4000) DEFAULT NULL,
`Url` varchar(1000) DEFAULT NULL,
`Thumbnail_url` varchar(1000) DEFAULT NULL,
`Authors` varchar(1000) DEFAULT NULL,
`Price` int(11) DEFAULT NULL,
`Width` int(11) DEFAULT NULL,
`Height` int(11) DEFAULT NULL,
`Category` int(11) DEFAULT NULL,
`Datetime` date DEFAULT NULL,
`Etc` varchar(200) DEFAULT NULL,
PRIMARY KEY (`SQSeq`,`SubSeq`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- <table SCHEMA> END-----------------------
>스토어 프로시저로 등록/삭제
-- [START]요청 REQUESTDATA INSERT----------------
DELIMITER //
DROP PROCEDURE IF EXISTS SP_REQUESTDATA_INSERT //
CREATE PROCEDURE SP_REQUESTDATA_INSERT
(
IN InSearchKind varchar(20),
IN InQuery varchar(100),
OUT NewSQSeq bigint(20)
)
BEGIN
INSERT INTO requestdata
(
SearchKind
,Query
,SearchDate
)
VALUES
(
InSearchKind,
InQuery,
sysdate()
);
-- Auto Increment 값 조회
SELECT LAST_INSERT_ID()
INTO NewSQSeq; -- OUT 파라메터 담기
END//
DELIMITER ;
-- [END]요청 REQUESTDATA INSERT------------------
-- [START] 요청/결과 삭제 SP_REQUESTDATA_DELETE----
DELIMITER //
DROP PROCEDURE IF EXISTS SP_REQUESTDATA_DELETE //
CREATE PROCEDURE SP_REQUESTDATA_DELETE
(
IN InSQSeq bigint(20)
)
BEGIN
declare iResult bigint(20);
set iResult = 0;
DELETE FROM requestdata
WHERE SQSeq = InSQSeq;
DELETE FROM responsedata
WHERE SQSeq = InSQSeq;
END//
DELIMITER ;
-- [END]요청/결과 삭제 SP_REQUESTDATA_DELETE-------
-- [START]결과 SP_RESPONSEDATA_INSERT------------
DELIMITER //
DROP PROCEDURE IF EXISTS SP_RESPONSEDATA_INSERT //
CREATE PROCEDURE SP_RESPONSEDATA_INSERT
(
IN InSQSeq bigint(20)
,IN InTitle varchar(300)
,IN InContents varchar(4000)
,IN InUrl varchar(1000)
,IN InThumbnail_url varchar(1000)
,IN InAuthors varchar(1000)
,IN InPrice int(11)
,IN InWidth int(11)
,IN InHeight int(11)
,IN InCategory int(11)
,IN InDatetime varchar(100)
,IN InEtc varchar(200)
,OUT OutResult bigint(20)
)
BEGIN
declare NewSubSeq bigint(20) default(0);
SELECT
IFNULL(MAX(SUBSEQ),0) + 1 into NewSubSeq
FROM RESPONSEDATA
WHERE SQSeq = InSQSeq;
SET OutResult = NewSubSeq;
INSERT INTO responsedata
(
SQSeq
,SubSeq
,Title
,Contents
,Url
,Thumbnail_url
,Authors
,Price
,Width
,Height
,Category
,Datetime
,Etc
)
values
(
InSQSeq
,NewSubSeq
,InTitle
,InContents
,InUrl
,InThumbnail_url
,InAuthors
,InPrice
,InWidth
,InHeight
,InCategory
,date(InDatetime)
,InEtc
);
END//
DELIMITER ;
-- [END]결과 SP_RESPONSEDATA_INSERT--------------
>프로시저실행해서 등록하기
call SP_REQUESTDATA_INSERT('Book','삶의철학산책',@NewSQSeq);
select @NewSQSeq;
call SP_RESPONSEDATA_INSERT(1,'드 보통의 삶의 철학산책','복잡하고 힘겨운 삶을 유쾌하게 만드는 삶의 거장들이 알려주는 행복의 철학. 인기없음, 가난, 좌절, 부당함, 실연, 고통에 대한 허브 치료와도 같은 유쾌한 위안을 한권의 책으로 엮었다.','http://book.daum.net/detail/book.do?bookid=KOR9788984980624','http://t1.daumcdn.net/thumb/R72x100/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbook%2FKOR9788984980624%3Fmoddttm=20160223080929','알랭 드 보통',17000,0,0,5,'2002-04-25T00:00:00.000+09:00','8984980625 9788984980624',@OutResult);
select @OutResult;
call SP_RESPONSEDATA_INSERT(1,'고대 로마+한강역사문화탐사+삶의철학산책',''고대 문명 시리즈' 두 번째 권으로 고대 로마를 찾아간다. 로마의 사회, 정치, 문화, 예술의 다양한 면모를 가능한 명료하고 직접적으로 기술하여 로마를 직접 체험하는 느낌을 가질 수...','http://book.daum.net/detail/book.do?bookid=BOK00000039062LI','http://t1.daumcdn.net/thumb/P72x100/?fname=http%3A%2F%2Ft1.daumcdn.net%2Fbook%2FBOK00000039062LI%3Fmoddttm=20150609170927','안나 마리아 리베라티',95000,0,0,0,'2003-07-20T00:00:00.000+09:00','0004953282 0100004953286',@OutResult);
response된data.txt