[ myBatis - Procedure처럼 사용하기 ]

 

1. 정의

    . 보통 myBatis xml에 하나의 tag에 하나의 sql문장만 기술한다.

      하지만 procedure에서 사용할 수 있는 방법이 거의다 가능하다.

 

2. 참고

     . 아래에 정의된 모든 형식은 하나의 tag (select, update, delete)에 기술 가능하다.

 

3. SQL결과 컬럼 1개를 변수에 넣기

   

 

4. INSERT문장을 활용한 임시테이블 생성 및 임시테이블 INDEX생성

   

 

5. 임시테이블 생성 후 INSERT하기

    - 위 sql에서  #용 임시테이블은 drop table이 확실히 되지만 (mssql에서 테스트)

      아래 sql에서 @용 임시테이블은 drop table이 되는지 테스트 해보지 않았음 

   

 

6. Procedure호출 하기

    - EXEC 로 호출 하게 되면 Procedure실제 argument도 기술 할 수 있다.

      이때 장점은 Procedure실제 argument명을 명시적으로 기술했기 때문에

      argument순서와 상관없이 mybatis에 기술 할 수 있다.

      (mssql에서 테스트)

   
Posted by 농부지기
,

[ myBatis에서 foreach 사용하기 ]

 

 

1. 자바단

   

 

 

2. sql foreach 부분만

  

'Web. 기타 언어 > myBatis' 카테고리의 다른 글

myBatis - isEmpty, isNull  (0) 2017.12.05
myBatis. if. case 문  (0) 2017.12.05
myBatis.oracle.sql.CLOB@ 결과 오류시  (0) 2017.01.31
myBatis.CLOB Column type  (0) 2017.01.31
myBatis.SQL문 안에서 <, > 사용  (0) 2017.01.31
Posted by 농부지기
,

[ JSON 데이터를 자바로 파싱방법 종류 ]

 

REST API는 JSON 스트링 형태로 결과 데이터를 출력해주는데, 이를 파싱하여 자바 객체로 받아들여 활용할 수 있다. 현재 굉장히 많은 JAVA JSON 라이브러리가 존재하는데(json.org 에서 관련 자료를 확인할 수 있다), 어떤 것을 사용해야 할까?

오픈 소스에 보다 많은 커뮤니티와 업계에서 사용하여 접근하기 용이하고, 패키지 무게가 가벼우며, 성능이 뛰어난 라이브러리일 수록 좋을 것이다. 2014년 4월 기고된 developer.com 기사에서는 최근 가장 핫한 오픈 소스 JSON 처리 라이브러리 7가지를 소개하고 있는데, 자체 벤치마크 결과 그래프를 함께 제공하여 어떤 라이브러리가 자신의 프로젝트에 가장 적합할지를 선택하는데 도움을 주고 있다.

벤치마크 대상이 된 라이브러리 목록은 다음과 같다.

  • Jackson
  • Google-gson
  • JSON-lib
  • Flexjson
  • Json-io
  • Genson
  • JSONij

각 라이브러리의 특징을 기사 내용을 바탕으로 리스트 형식으로 간략하게 요약한다.

1. Jackson
  • 상당히 잘 알려진 JSON 라이브러리
  • 컨셉: “다목적 자바-JSON 처리 라이브러리. 빠르고 정확하고 가벼우며 개발자에게 친숙하다. (multi-purpose Java library for processing JSON who aims to be the best possible combination of fast, correct, lightweight and ergonomic for developers)”
  • 코드가 심플한 편
  • 특히 고용량(100MB 이상)의 JSON 데이터 처리 성능이 탁월
  • 메이븐(Maven) 저장소 지원
  • 패키지는 무거운 편
2. Google-gson
  • 오우(Oh), 구글!
  • 소스코드 구하기, 레퍼런스 찾기 용이
  • 하나의 jar 파일로 구성, 메이븐 저장소 지원
  • 가벼운 JSON 데이터 처리 성능 탁월, 전반적으로 고성능
  • 상대적으로 가벼운 패키지 무게
3. JSON-lib
4. Flexjson
  • 자바 객체를 JSON으로 직렬화하거나 비직렬화할 수 있는 경량 라이브러리
  • 다운로드 사이트
  • 다른 외부 라이브러리와 의존성 없음
  • 성능은 무난하나 아주 적은 패키지 사이즈가 장점
5. Json-io
  • 초경량 라이브러리
  • JsonReader, JsonWriter 두 클래스로 구성 -> 직렬화 담당하는 stream 객체가 필요 없음
  • 메이븐 저장소 지원
  • 대부분의 경우 JDK의 ObjectInputStream, ObjectOutputStream보다 빠른 직렬화 성능을 제공
6. Genson
7. JSONiJ

성능 측정(benchmark) 결과

다음은 위 7종의 라이브러리를 사용한 테스트 결과를 그래프로 나타낸 것이다.

 

위내용 발취 : http://djkeh.github.io/articles/The-fastest-way-to-parse-json-data-to-java-kor/

'Web. 기타 언어 > json' 카테고리의 다른 글

json-nexacro에서 사용하기  (0) 2019.07.15
Posted by 농부지기
,

[ JDK 다운로드 (JDK 이전버전 다운로드) ]

 

1. JDK : 최신버전 다운로드

    - URL : http://www.oracle.com/technetwork/java/javase/downloads/index.html

 

2. JDK : 이전버전 다운로드

    - URL : http://www.oracle.com/technetwork/java/archive-139210.html

    - Java SE1.1 부터 모두 존재

Posted by 농부지기
,

[ Devon File download/Upload 권한제어 ]


1. 정의

   - 파일 Upload시 용량제한, 확장자 제한 및 허가, 파일명 정의등 기술

   - 파일 Download시 허용 및 금지 확장자 정의


2. devon-framework.xml

   


Posted by 농부지기
,

[ Client단에서 *.dev, *.do, *.mi 별로 구분방법 ]


1. 정의

   - 화면(client)단에서  retrieveEmp.mi를 했을 경우 Server단에서 어떤 command mapping파일(XML)을 찾아가는

     mapping tag관리위치를 관리

     

2. 파일

   - devon-framework.xml

     . *.dev, *.do, *.mi 확장자별  경로(directory)찾기

     . #home : web.xml파일에 home directory존재

     . #home/navigation/dev

       : D:/erp/workspace/MFG/devonhome/navigation/dev  하위의 mapping XML 파일들을 기준으로 command파일을 호출

     . #home/navigation/do

       : D:/erp/workspace/MFG/devonhome/navigation/do  하위의 mapping XML 파일들을 기준으로 command파일을 호출


   - web.xml

     . #home : home directory존재

     . 위치 : WebContent/WEB-INF/web.xml


   - employeeManagement.xml

     . 각 화면, 업무별로 파일이 개별로 존재

     . 화면단에서 retrieveEmployee.do 를 호출 하게 되면 RetrieveEmployeeCmd.java를 호출 한다.

     . 항상 실 업무단.java를 호출하기 전에 SessionCheckCmd.java인 session을 검사한다.


3. devon-framework.xml

   

4. WebContent/WEB-INF/web.xml
   

5. employeeManagement.xml
   



Posted by 농부지기
,

[ Login시 운영DB, 개발DB접속 구분방법 ]


1. 정의

   - 개발도중 기본적으로 개발db에 접속해야 되지만 상황에 따라서 운영db에 접속해야 되는 경우가 있다.

     이때 개발PC에서 운영DB에 접속하기 위한 환경설정을 하면 된다.


2. 파일 

   - devon-framework.xm : context.xml파일에서 어떤 dataresouce를 사용하지 구분방법 존재

   - context.xml            : db접속 정보


3. xml파일 설명

   1. Devon에서 db를 접속시 [devon-framework.xml]파일에서 <datasources>tag에 포함된 jndi-name을 확인한다.

      이 jndi-name에 기술된 이름을 기반으로 [context.xml]파일에서 <Resource>tag에 정의된 기준으로 db에 접속한다.

   2. 아래 <datasources> tag를 이용해서 '운영db, 개발db'접속을 구분할 수 있다.



4. devon-framework.xml


5. context.xml



Posted by 농부지기
,

[ Devon.Procedure 호출 및 결과 return ]


1. 정의 

   - Procedure 호출 후 Procedure OUTPRAM으로 넘겨 받은 결과 한 row를 java단에서 받아 화면단 으로 넘겨주기


2. Command단 java

   

3. Biz 단 java
   

4. Dao단 java
   

5. sql xml 파일
   




Posted by 농부지기
,

[ TCP-IP Socket 통신 소스 ]



참고소스 URL : http://gaedak.tistory.com/16

Posted by 농부지기
,

[ 개방 PORT 접근가능여부 확인하기 ]



1. 외부 시스템에서 확인하기

   - URL : http://www.yougetsignal.com/tools/open-ports/


2. 내 PC에서 확인 하기

   - OS가 Windows인 경우

      > 커맨드 창에서

 


 . telnet  [아이피주소]  [포트번호]


 . 예) telnet 127.127.1.125  80


        

   - OS 가 리눅스 인 경우

 


#] netstat -na   또는 netstat -an  또는  netstat -nap


  n:host명으로 표시 안함

  a:모든소켓 표시

  p:프로세스ID와 프로그램명 표시


     . 이렇게 입력하고 나면 자신의 서버(컴퓨터)에 연결되었거나, 연결시도중인 IP와 Port 가 Local Address 목록이 조회 된다.



'Web. 기타 언어 > 통신.네트워크' 카테고리의 다른 글

TCP-IP Socket 통신 소스  (0) 2017.02.14
Windows 방화벽에서 TCP Port Open하기  (0) 2017.02.14
Posted by 농부지기
,