반응형

String to map

Map<String, Object> map = 
   new ObjectMapper().readValue(스트링변수, new TypeReference<Map<String, Object>>() { });

String to List map

List<Map<String, Object>> paramMap = 
   new ObjectMapper().readValue(스트링변수, new TypeReference<List<Map<String, Object>>>(){});

 

맨날 하도 헷깔려서 적어놓는다

물론 스프링일 경우 pom.xml에 json이 dependency 로 추가되어있어야 한다

 

 

728x90
반응형

프로시저 호출했는데 디버깅해보니 프로시저에 들어가지도않는 이유가 뭔지 한참고민했는데

프로시저에 써준 변수선언 순서가 중요했다;;;;

변수a   자료형,

변수b   자료형

 

이렇게 써줬었는데 

알고보니 변수b가 앞에 와야했던것.... 너무함 ㅠㅠㅠㅠㅠㅠ 이걸로 30분 헤맸다.

 //controller 로 가기전 js 
 
 var paramString = {
                'title':$('#title').val(),
                'content':$('#content').val()
            };
 var url = '/request/deleteContent.do';
            ajaxRequest(url,{ "paramString" : JSON.stringify(paramString)}, function (result) {
                if (result['isSuccess']) location.replace('/request/contentList.do');
                alert(result['message']);
            });
            
//해당 매퍼
    @Delete("CALL CONTENT_DELETE("+
            "#{title, mode=IN, jdbcType=INTEGER, javaType=String}"+
            ",#{content, mode=IN, jdbcType=INTEGER, javaType=String}"+
            ")")
    @Options(statementType = StatementType.CALLABLE)
    void deleteServiceReqFile(Map<String, Object> paramMap);
    
//해당 프로시저 

create PROCEDURE         "CONTENT_DELETE"
(
    /*IN*/
    TITLE                DB명.TITLE_NO%TYPE,
    CONTENT              DB명.CONTENT_NO%TYPE
)
    IS
BEGIN
        DELETE FROM DB명
        WHERE TITLE_NO=TITLE
          AND CONTENT_NO=CONTENT;

EXCEPTION
    WHEN NO_DATA_FOUND THEN
        NULL;
    WHEN OTHERS THEN
        RAISE;
END CONTENT_DELETE;
/

이런식으로 
컨트롤러 부를때 보내는 파라메터 순서 & 매퍼에 기입하는 변수 순서 & 프로시저에 기입한 변수 순서 세가지가 다 맞아야한다.

매퍼는 틀려도되나? 정확히 어디까지가 맞아야하는지모르겠는데 확실한건 프로시저는 변수 순서를 바꿔쓰면 인식을 못한다는점이다 ㅠㅠ

 

또한 무결성제약조건 에러

 

이런식의 창이 뜨는데 어떤자식이 있는지 모를경우 빨간줄 부분을 보면 그 자식의 key 를 상냥하게 설명해준다.

그것도모르고 자식 찾는법 고민하고있었다 흑흑

728x90
반응형

인텔리제이에서 DB를 사용하기에 앞서 JDBC 설정을 비롯한 여러가지가 있겠지만

그게 다 되어있다고 가정한 다음에 쿼리문작성이나 VIEW, PROCEDURE 를 보는 방법

 

1.DB 종류선택

 

+를 눌러서 db종류를 선택할수있다.

 

 

연결을 하고나면 아래와같이 나오는데, ip정보는 숨기겠음!

 

 

2.테이블 / 뷰 / 프로시저 등 확인하는 방법

 

tables 에서 테이블 확인, views 에서 view 확인, routines 에서 프로시저  확인 가능하다.

이걸몰라가지고 애먹었다..바보임

프로젝트검색과 마찬가지로 프로시저나 테이블명은 오른쪽의 오라클영역을 클릭해주고 키보드를 치면 즉시 검색가능하므로 시간들이지말고 바로바로 찾아갈것!

 

3. 새 쿼리 생성

테이블명 > 우클릭 > NEW > 콘솔 클릭! SQL문 쓸수있다.

 

아니면 그냥 

상단의 아이콘을 누르면 된다 (2019.07.10)

728x90
반응형

웹개발할때 크롬캐시 자꾸 삭제하기 귀찮으니 이거하나 깔아놓고 ON 시키면 자동캐시삭제된다.

 

짱편함

728x90

+ Recent posts