전체 글298 [MyBatis] Oracle 부적합한 열유형 Null처리 방법 Spring mybatis를 사용하여 Oracle Database에 data insert하는 과정에서 아래와 같은 오류가 발생했다. 오류 메시지 Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 부적합한 열 유형: 1111 오류 발생 원.. IDE/Eclipse 2019. 8. 14. [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE, MERGE, UPDATE) - Oracle foreach문은 사용할 때마다 사용되는 위치도 속성도 어려워서 더이상 헷갈리지 않기 위해 남겨본다 :-) ! MySQL foreach 사용방법은 ? [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE) - MySQL [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE) - MySQL Oracle 버전이 궁금하다면 ? 클릭 ! [MyBatis] List 파라메터 foreach 사용 (INSERT, DELETE, MERGE) [MyBatis] List 파라메터 foreac.. haenny.tistory.com foreach 속성 구분 설명 collection 전달받은 인자값 item 전달받은 인자값을 다른이름으로 대체 open 해당 구문이 시.. Database/MyBatis 2019. 8. 13. [Spring Boot] 프로젝트 jar파일 생성 방법과 실행 방법, 배치파일까지 ! [Spring Boot] 프로젝트 jar파일 생성 방법과 실행 방법, 배치파일까지 ! 오늘은 Spring Framework을 사용하는 프로젝트를 간편하게 셋업할 수 있는 서브 프로젝트 Spring Boot의 jar파일 생성방법과 실행방법, 그리고 배치파일 만드는 방법까지 파헤쳐보자 jar 파일 만들기 1. Eclipse 상단 메뉴의 [Window] - [Show View] - [Other] 에서 Gradle Tasks를 검색해서 열어준다. 그럼 내가 만드려는 프로젝트의 폴더를 열고 [build] 의 build를 더블 클릭해준다. 그럼 Gradle Executions 탭이 열리면서 build 결과가 나올 것이다. 에러없이 빌드가 잘 되었다면, 이제 jar파일을 만들면 되는데 그 전에 !!!!!!!!!!!!.. JVM/SpringBoot 2019. 8. 2. [Java] StringBuffer append("a"+"b") 메모리는 어떻게 할당될까? Java는 C언어처럼 포인터가 없어 메모리의 주소와 해당 값을 함께 볼 수 없는 단점이 너무 너무 너무~ 크다 ! Java 문서나 많은 글을 읽어도 메모리의 구조가 어떻게 어떤 흐름으로 돌아가는 지 내가 알고 있는 이 답이 확실한가에 대한 의문도 많이 든다. StringBuffer의 append 메소드를 사용할 때, 어떤 식으로 값이 메모리에 할당되고 흘러가는 지 내가 이해한 바를 정리하고자 한다. StringBuffer sb = nes StringBuffer(); sb.append("a"); sb.append("b"); 단순 참조를 위한 문자열은 String 클래스, 연산이 많은 경우는 가변적으로 문자열을 저장하고 관리하는 StringBuffer 클래스를 사용한다. String 과 StringBuffe.. JVM/Java 2019. 8. 1. [Java] String, StringBuffer, StringBuilder의 차이점 스윽 차이점 String 과 StringBuffer(StringBuilder), 두 클래스 모두 문자열을 담고 연산하는 것인데 차이가 뭐지? 성능이 어떻게 다르지? 궁금했던 분들에게 그 차이점을 스윽 정리해드리고자 한다! 아래 표를 보면 된다 ! String StringBuffer StringBuilder 문자열을 저장하고 관리하는 클래스 immutable (불변) mutable (가변) new 연산을 통해 생성되면 그 인스턴스의 메모리 공간은 절대 변하지 않는다. 문자열 연산을 했을 때, 메모리 공간이 변하는 것이 아닌 새로운 String 객체를 만드는 것이다. 문자열 연산에 있어서 new로 객체 생성을 한번 한 후, 연산이 필요할 때 크기를 변경시켜 문자열을 변경한다 동기화(Synchronized)를 지원.. JVM/Java 2019. 7. 30. [Java] String과 new String 차이 String 문자열 생성 방식 String str1 = new String("Hello"); String str2 = "Hello"; String str3 = "Hello"; 1. new 이용한 문자열 생성 2. 문자열 리터럴 생성 두 방식의 차이점 두 방식의 가장 큰 차이점은 메모리 영역에 있다. new 연산자를 통해 String을 생성하면 Heap 영역에 존재하게 되고, 리터럴을 이용할 경우 string constant pool이라는 영역에 존재하게 된다. (아래 그림 참고) 똑같은 "Hello" 문자열을 사용하는 데 변수 str2 와 str3은 같은 객체를 바라보지만 new String으로 생성한 str1은 다른 메모리 주소의 객체를 바라보는 것이다. 문자열을 비교해보면, String str1 = .. JVM/Java 2019. 7. 30. [Oracle] LISTAGG WITHIN GROUP 문 LISTAGG 구문 SELECT LISTAGG (컬럼명, 구분기호) WITHIN GROUP (ORDER BY 정렬기준컬럼) FROM 테이블명 예제 다음 테이블로 사용방법을 살펴보자 동일한 MSD_ID의 값의 LINK_ORG 값을 하나의 컬럼으로 가져오고 싶다면 LISTAGG 구문을 사용해서 가져오면 된다. SELECT LISTAGG(LINK_ORG, '') WITHIN GROUP (ORDER BY LINK_ORG) AS LINK_ORG FROM G_LINK WHERE MSD_ID = 'MSD_ID' 여기서 구분기호를 두지 않았지만 만약 구분기호를 ',' 로 두었다면 결과값은 00,01,02,03,04 가 나온다. 참고로 LISTAGG는 중복제외(DISTINCT)를 지원하지 않는다. 이를 해결하기 위해 아.. Database/SQL 2019. 7. 29. [MySQL] DATE_FORMAT 날짜 표기법 DATE_FORMAT 구문 DATE_FORMAT(날짜, 형식) : 날짜를 지정한 형식으로 출력해주는 함수 Oracle에서의 TO_DATE 함수랑 같은 역할을 한다고 생각하면 된다. ^^ DATE_FORMAT 의 구분 기호 FORMAT 설명 %M 월(Janeary, December, ...) %w 요일(Sunday, Monday, ...) %D 월(1st, 2dn, 3rd, ...) %Y 연도(1987, 2000, 2013) %y 연도(87, 00, 13) %X 연도(1987, 2000) %V와 같이 쓰임. %x 연도(1987, 2000) %v와 같이 쓰임. %a 요일(Sun, Tue, ...) %d 일(00, 01, 02, ...) %e 일(0, 1, 2, ...) %c 월(1, 2, ..., 12) %.. Database/SQL 2019. 7. 20. [Android] Activity 와 Fragment의 차이가 도대체 뭐길래 [Android] Activity 와 Fragment의 차이가 도대체 뭐길래 안드로이드 프로그래밍을 하다가 Activity 와 Fragment의 차이가 뭔지 궁금해서 여기저기 검색을 해봤는데, 이해가 쏙쏙 가는 글이 있어서 이렇게 남긴다. 일단 결론부터 말하자면, Fragment는 Activity와 View의 개념을 합쳐놓은 것이라고 말할 수 있다. Android Developers 를 보면 Activity를 아래와 같이 정의했다. 안드로이드 프레임워크가 제공하는 Activity는 사용자가 앱에 접근할 수 있도록 하며, 다양한 활동(작업)을 할 수 있도록 하는 일종의 페이지입니다. 그렇다면, Activity와 View의 관계로도 충분히 프로그램을 만들 수 있는데 왜 Fragment를 사용하는 것인가? 그.. 기타 2019. 7. 18. [Error] Port listening Error (8080, ...) 포트 충돌 에러 해결 : 톰캣 강제종료 및 포트 변경 방법 에러 화면 이클립스 톰캣 서버를 구동하다가 이 에러창과 눈 마주친 경험은 다들 한번쯤 있으실겁니다. 같은 포트를 중복해서 사용하고 있어서 포트가 충돌나는 에러이니 당황하지 않고 다음과 같이 해결하면 된다. 해결 방법 (2가지) 1. 해당포트 서버 강제 종료하기 먼저 명령 프롬포트 창을 연다. 단축키로는 윈도우 키+R 을 누른 후 cmd를 입력하여 열어도 된다. 그리고 이제 충돌이 나는 포트를 찾아 PID 값으로 강제 종료를 할 것인데, 그전에 ! 가끔 cmd창 명령어가 먹히지 않은 경우가 있다. 그 경우는 아마 명령창의 경로가 위의 이미지에 표시된 것처럼 system32 경로가 아닌 경우가 있다. 그럴 경우에는 system32 경로를 찾아가서 cmd 창을 열어주는 방법이 있고, 관리자 권한으로 cmd 명.. Front/WebServer 2019. 7. 16. [JavaScript] 자바스크립트 달력 라이브러리 Full Calendar 사용 방법 FullCalendar Download 먼저 아래 링크 홈페이지로 들어가보자 Link : https://fullcalendar.io/docs/getting-started FullCalendar - JavaScript Event Calendar The FullCalendar Approach FullCalendar is great for displaying events, but it isn't a complete solution for event content-management. Beyond dragging an event to a different time/day, you cannot change an event's name or other associated data. It is up to fullca.. Front/API 2019. 7. 14. [Error] 전자정부 프레임워크 Eclipse taglibs 에러 해결방법 에러 로그 javax.servlet.jsp.jspexception cannot be resolved to a type 에러 해결방법 전자정부 프레임워크에 taglibs 적용중 발생한 에러이다. 프로젝트 구동하는 데 이상은 없으나 javax.servlet.jsp.jspexception cannot be resolved to a type 이 에러를 해결하고 싶다! 면 해결 방법 다음과 같은 설정을 해주면 된다. 프로젝트의 우클릭 - [ Properties ] - [ Project Facts ] 의 Runtimes 탭에서 해당 프로젝트의 톰캣 설정을 해주면 된다. 해당 톰캣을 체크해주고 적용한 뒤 클린해주면 오류 해결 ~! IDE/Eclipse 2019. 7. 12. [Java] JAXB 활용한 Java 객체의 XML 변환 방법 JAXB 란? 위키백과를 보면 JAXB를 다음과 같이 정의한다. JAXB(Java Architecture for XML Binding) 란 자바 클래스를 XML로 표현하는 자바 API이다. JAXB는 주로 2가지 기능이 있다. 자바 객체를 XML로 직렬화하는 것이고 반대로 XML에서 자바 객체로 역직렬화하는 것이다. 즉, JAXB는 메모리의 데이터를 XML 형식으로 변환하여 저장할 수 있고, 이 과정을 위해 프로그램의 각 클래스에서 XML을 읽고 저장하는 일을 구현해야 한다. 변환에 필요한 로직만 정리해보겠다. VO 객체 설정 xml element로 사용할 객체에 @XmlRootElement 어노테이션을 등록한다. @XmlRootElement(name="linkXmlVO") @XmlAccessorType.. JVM/Java 2019. 7. 9. [Oracle] SQL WHERE IN 구문 쇽쇽! 보통 데이터를 조회할 때, 조회 조건은 일대일 매칭으로 WHERE COLUMN = 'value' 이렇게 많이 하시죠? 만약 여러 개의 데이터와 여러 개의 데이터를 비교하고 싶을 때는 어떻게 해야할까요? 오늘 소개할 쿼리문은 바로 WHERE IN 구문입니다. WHERE IN 예제 다음 테이블로 살펴봅시다. M_AUTH_CD 컬럼의 값이 01이거나 02인 데이터만 조회하고 싶을 때, WHERE M_AUTH_CD IN ('조건1', '조건2') 로 조회를 해주면 됩니다. 여기서 IN 문의 나열한 조건들은 OR 조건으로 조회합니다. WHERE NOT IN 예제 또는 반대로 M_AUTH_CD 컬럼의 값이 01이거나 02를 제외한 데이터를 조회하고 싶을 때, WHERE M_AUTH_CD NOT IN ('조건1', .. Database/SQL 2019. 7. 8. [JEUS] Jeus 서버와 어플리케이션 추가하는 방법 Application 추가 1. Application 메뉴에서 install을 클릭한다. 2. 에플리케이션의 id를 부여하고, 추가할 프로젝트의 war파일이 있는 경로를 찾아 Path에 추가해준다. Server 추가 3. 잠시 서버를 추가하기 위해 Server 메뉴로 이동하자. 서버를 추가하기 전에 왼쪽 메뉴 하단에 위치한 LOCK & EDIT 버튼을 클릭해서 동적 설정 변경 모드로 전환한다. 4. ADD 기능으로 추가해도 되지만 설정해야하는 부분이 많고, DUP 기능이 더 편리하기 때문에 DUP 으로 서버를 복제하여 추가했다. 5. 사용할 서버의 이름을 추가해주고, 6. 추가한 서버를 클릭한 뒤 Resource 탭에 Listener의 Listen Port를 다른 서버와 겹치지 않게 변경해주어야한다. 변.. Front/WebServer 2019. 7. 2. [Java] 개발자라면 꼭 필요한 로그관리! Logger 사용 및 log4j2.xml 설정 방법 개발자라면 꼭 필요한 로그관리, 사용방법과 설정방법을 함께 뽀개보자 ! 사용 방법 먼저 사용방법은 간단하다. 로깅 라이브러리는 slf4j 을 사용하여 내가 로그를 남길 클래스에 선언을 해주고 메소드 내에서 사용하면 된다. public class MainController(){ private final Logger LOGGER = LoggerFactory.getLogger(MainController.class.getName()); public void moveMainPage(){ LOGGER.info("Hello world!"); } } 그럼 다음과 같이 콘솔창에 찍힐 것이다. 참고로 로그 레벨은 TRACE > DEBUG > INFO > WARN > ERROR 이다. 자바를 처음 시작했을 때 System... JVM/Java 2019. 6. 22. [JavaScript] 자바스크립트 함수 호출 방법1 :this는 어떤 객체? this 란? this는 함수 내에서 함수 호출 맥락(context)를 의미한다. 즉 함수를 어떻게 호출하느냐에 따라서 this가 가리키는 대상이 달라진다는 뜻이다. 함수 호출 방법 4가지 일반적인 호출방법 : func() 객체에 정의된 메서드 호출방법 : obj.func() call과 apply를 이용한 함수 호출방법 : func.call, func.apply 생성자 함수 호출방법 : new Func() 오늘은 일반적인 함수 호출 방법과 객체에 정의된 메서드 호출 방법을 통해 this를 완전 정복 ! 할 것이니 잘 따라오길 ~ 1. 일반적인 호출방법 첫번째로는 일반적인 호출 방법으로 함수명( ); 으로 호출하는 것이다. 이 때 this가 가리키는 것은 window 객체 를 바라본다는 사실 ! 다음 코드.. Front/JavaScript 2019. 6. 15. [JavaScript 기초] JavaScript 함수 정의, 선언문 방식과 표현식 방식의 차이 자바스크립트의 함수의 정의 방법 선언문 방식 표현식 방식 Function 생성자 함수 이용 선언문 방식과 표현식 방식의 차이 사실 선언문 방식과 표현식 방식은 겉으로 봤을 때 정의하는 방식만 다를 뿐 기능적으로 큰 차이를 보이진 않습니다. // 선언문 방식 function a( ){ console.log('선언문 방식 a 함수'); } a( ); // '선언문 방식 a 함수' 출력 // 표현식 방식 var a = function( ){ console.log('표현식 방식 a 함수'); } a( ); // '표현식 방식 a 함수' 차이점이 있다면 호이스팅이 되는 시점에 a라는 변수가 어떤 형태로 정의되는 차이를 갖고 있죠. 호이스팅에 대해서는 아래 링크를 참고하세요. Link : https://aljjab.. Front/JavaScript 2019. 6. 15. 이전 1 ··· 12 13 14 15 다음 추천 글 728x90 반응형