본문 바로가기

프로그래밍

tomcat + spring + iBatis JNDI 설정 ※ tomcat + spring + iBatis JNDI 설정 1. tomcat server.xml - 태그에 추가 2. tomcat server.xml - 태그에 추가 3. sqlMapConfig.xml - iBatis sqlMapConfig 설정 4. spring bean 설정 더보기
오라클 데이터 복구 ※ 데이터 업데이트를 잘못한 경우, 예를 들면 where절 없이 update 쿼리를 실행했을때... 이런 멘붕 상태를 위한 해결책 일단 현재 테이블 백업 테이블 데이터 모두 지우기. DELETE FROM 테이블명 INSERT INTO 테이블명 SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '분'MINUTE) 분 단위로 지정 가능 더보기
JSON Library ※ JSON Library 모음 JSONObject.fromObject() 요 구문에서 아래와 같은 에러 발생. java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException json-lib 사용시 추가해줘야 하는 library가 몇개 더 있다. (json-lib-2.4-jdk15.jar 기준) commons-beanutils-1.8.3.jar commons-collections-3.2.1.jar commons-lang-2.4.jar commons-logging.jar ezmorph-1.0.6.jar common-lang 최신 버전인 3.1을 사용했더니 같은 에러가 난다. 버전 주의. 이번 케이스처럼 .. 더보기
VMWare Player NAT 설정 ※ VMWare Player에서 NAT 설정 실행 파일을 실행창에서 /e 옵션을 주어 압축을 푼다. 압푹을 푼 폴더에 보면 network.cab 파일이 있는데 vmware player 설치 폴더에 압축 해제한다. 압축 푼 파일 중 vmnetcfg.exe 파일을 실행시켜서 NAT를 설정한다. 더보기
jqgrid select editoption var arrColNames = new Array(); var arrColModel = new Array(); for(var i = 0; i < columnJson.length; i++) { arrColNames.push(columnJson[i].ATTR_NAME); var colModel; if(columnJson[i].EDITABLE_FLAG == "1") { if(columnJson[i].DATA_TYPE == "TEXT") { colModel = {name:columnJson[i].AT_UID, index:columnJson[i].AT_UID, align:"right", editable:true, edittype:"text"}; } else if(columnJson[i].DATA_TYPE == ".. 더보기
ibatis 멀티 property iBatis로 iterate 할때 두개의 property 지정이 안되네... 그래서 property를 map으로 만들어줌. List searchCondition = new ArrayList(); Map searchMap = null; String[] searchKeys = requestData.getFieldValues("SEARCHKEY[]"); String[] searchValues = requestData.getFieldValues("SEARCHVALUE[]"); for(int i = 0; i < searchKeys.length; i++) { searchMap = new HashMap(); searchMap.put("key", searchKeys[i]); searchMap.put("value", s.. 더보기
wm_concat sys_connect_by_path 대신 wm_concat 사용. 성능은 모르겠지만.. 일단 편하다..!!!! select bb_uid, substr(max(sys_connect_by_path(contents, ',')), 2) as contents from ( select bb_uid, contents, row_number() over (partition by bb_uid order by seq) as rnum from aps_bbs_contents ) start with rnum = 1 connect by prior rnum = rnum - 1 and prior bb_uid = bb_uid group by bb_uid order by bb_uid; -----------------------------.. 더보기
pivot xml 오라클 11g부터 제공하는 pivot 기능. 그런데 IN 조건에 select 문이 적용이 안되어 pivot 대신 pivot xml 사용. 쿼리 후 xml parsing 작업 필요. SELECT FM_UID, NAME, EXTRACT(ELEMENT_NAME_XML, '/PivotSet').getStringVal() AS ITEMS FROM ( SELECT RR.FM_UID, FM.NAME, RR.ELEMENT_NAME, RR.VALUE FROM CAS_REQUEST RQ INNER JOIN CAS_REPORT RP ON RQ.OUID = 'RQ101000000001' AND RQ.OUID = RP.RQ_UID AND RP.USE_FLAG = '1' INNER JOIN CAS_REPORT_RESULT RR .. 더보기
input key check inputKeyValidation : function(event) { var keyCode = event.which; //console.log(keyCode); // 기본 키코드 숫자 var isStandard = (keyCode > 47 && keyCode 95 && keyCode < 106); //backspace(8), tab(9), delete(46), (62), E(69), e(101), .(190), left(37), up(38), right(39), down(40) var validKeyCodes = ",8,9,37,38,39,40,46,60,62,69,101,190,"; var isOther = (validKey.. 더보기
jqGrid treeGrid 이것땜에 하루종일 삽질...... 휴... var jsonObj = [ {id:"1",RH:"0.29",SPEC_FM_UID:"FM121004001141",NAME:"SAMPLE1",FE:"0.13",RQ:"",AL:"0.19",SPEC_TYPE:"USL",level:"0",parent:"",isLeaf:false,expanded:true}, {id:"2",RH:"0.52",SPEC_FM_UID:"FM121004001141",NAME:"SAMPLE1",FE:"0.43",RQ:"",AL:"0.23",SPEC_TYPE:"UCL",level:"1",parent:"1",isLeaf:true,expanded:false}, {id:"3",RH:"0.13",SPEC_FM_UID:"FM121004001141",NAME.. 더보기