반응형 mybatis14 [NULL 처리]Incorrect decimal value: '' for column 1 java 에러 수정 방법 [NULL 처리]Incorrect decimal value: '' for column 1 java 에러 수정 방법 이번 포스팅에서는 MARIADB, MYSQL 에서 발생하는 Incorrect decimal value 에러에 대해서 수정하는 방법을 알아보도록 하겠습니다. 해당 에러는 DB에서 컬럼 타입이 numeric 으로 설정했을 때 빈값 이나 null을 전송하면 발생하는 에러입니다. 숫자형인데 공백을 넣을 수 없다. 어찌보면 당연한 얘기지요. 그럼 numeric 타입으로 설정한 컬럼에 null 을 넣기 위해서는 어떻게 해야 할까요? 바로 NULLIF 함수를 사용하면 됩니다. 자주 사용하는 IFNULL 함수와는 약간 차이가 있습니다. IFNULL(컬럼, 치환할 값) IFNULL 함수는 컬럼값이 NULL일.. Database/SQL 2021. 4. 12. Spring mybatis Oracle insert all 방법. 한번에 여러 행 추가 방법 list insert 방법 foreach insert Spring mybatis Oracle insert all 방법. 한번에 여러 행 추가 방법 list insert 방법 foreach insert for문을 반복하여 DB 커넥션을 반복하여 insert 하는 방법보다 속도도 빠르며 효율적인 방법입니다. QUERY INSERT ALL INTO TABLE명 (컬럼명...) VALUES (값...) INTO TABLE명 (컬럼명...) VALUES (값...) . . . INTO TABLE명 (컬럼명...) VALUES (값...) SELECT * FROM SYS.DUAL Mybatis의 foreach 를 활용하여 위와 같은 형태를 만들어 주면 됩니다. INTO WEB_MP_MENU VALUES (#{item.menuId}, #{item.groupId},'N'.. Programing/Spring 2020. 4. 6. springboot 2.x gradle 웹프로젝트 db mybatis 연동 설정 데이터베이스 연동 springboot 2.x gradle 웹프로젝트 db mybatis 연동 설정 데이터베이스 연동 웹프로젝트 기본 설정은 아래의 Link 를 참고하세요. Link : springboot 2.x gradle jsp 연동 설정 웹프로젝트 생성 mybatis를 연동하기 위한 의존성 주입을 해줍니다. /*mybatis*/ compile group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '2.1.1' compile('org.springframework.boot:spring-boot-starter-jdbc') refresh gradle 후 mybatis config 파일을 생성해줍니다. import javax.sql.Dat.. Programing/Springboot 2019. 11. 19. Springboot + mybatis 연동 시 Type Exception 해결방법 Springboot + mybatis 프로젝트 배포시 Type Exception 해결방법 SpringBoot Version : 2.2.1 Mybatis Version : 1.3.2 Eclipse 에서는 이상 없이 동작하던 프로젝트가 Jar 파일로 배포 하면 아래와 같은 Exception이 발생했습니다. Caused by: org.apache.ibatis.type.TypeException: Could not resolve type alias 'regionVO'. Cause: java.lang.ClassNotFoundException: Cannot find class: regionVO at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasReg.. Programing/Springboot 2019. 10. 24. Oracle mybatis foreach merge 방법 collection merge문 Oracle mybatis foreach merge 방법 collection merge문 Oracle에서 키값이 같을 경우 update, 다를 경우 insert 를 할때 사용하는 것이 merge문 입니다. merge문에 대해서는 아래의 Link를 참고하세요. Link : Mybatis insert, update null 처리, 부적합한 열 유형 처리방법 Mybatis insert, update null 처리, 부적합한 열 유형 처리방법, Oracle Merge Mybatis insert, update null 처리, 부적합한 열 유형 처리방법 Mybatis를 활용해 insert, update 시 변수의 값이 없을 시 부적합한 열 유형 (해당 변수=null) 에러가 발생합니다. 이를 처리하기 위해서는 if.. Programing/Spring 2019. 8. 13. Mybatis Mapper XML <select> 알짜만 빼먹기 Mybatis Mapper XML 알짜만 빼먹기 구분은 데이터를 조회 때 사용하는 구문입니다. 와 내에 SELECT QUERY를 작성하면 됩니다. SELECT * FROM DUAL 태그 내에는 몇가지 속성값들이 존재합니다. id는 기본 태그로 Mapper와 xml 구문을 연결해주죠. 그럼 속성에 대해 알아보겠습니다. 속성 설명 id 구문을 찾기위한 유일한 구분자 parameterType 구문에 전달되는 파라메터의 alias나 풀 클래스명 resultType 구문의 결과를 받을 alias나 풀 클래스명 resultMap resultType과 다르게 xml 내 선언해서 사용하는 커스텀 맵 flushCache 기본값은 false, true 설정 시 로컬 및 2nd 캐쉬가 삭제된다. useCache 기본값은 t.. Programing/Spring 2019. 7. 8. Spring Boot Multiple Database Configuration + Mybatis +HikariCP, MySQL, Oracle, Using Mapper annotation Spring Boot Multiple Database Configuration + Mybatis +HikariCP, MySQL, Oracle, Using Mapper Annotation 스프링 부트에서 멀티 Database 연결 설정 Mybatis + HikariCp, MySql, Oracle, 어노테이션 방식 Spring Boot version : 2.1.1 Gradle spring boot 2.0.0 이상부터는 DBCP는 HikariCP가 기본입니다. 스프링 부트, Mybatis 환경에서 Oracle과 Mysql로 멀티 데이터베이스 연동하는 방법을 알아보겠습니다. 우선 필요한 라이브러리의 의존성 주입을 합니다. dependencies { compile('org.springframework.boot:s.. Programing/JAVA 2019. 4. 2. Spring Mybatis 멀티 database 연동 다중, 복수 데이터베이스 연동 oracle, mysql Spring Mybatis 멀티 database 연동 다중, 복수 데이터베이스 연동 oracle, mysql Spring Mybatis의 Mapper interface를 사용하는 환경에서 복수의 database 설정을 하는 방법을 알아보겠습니다. ibatis 환경에서 복수의 database 설정 방법은 아래의 Link를 참고하세요. Link : 전자정부프레임워크 egov ibatis 복수의 디비 커넥션 설정 방법 저의 경우 Oracle과 MySql 커넥션 설정을 하겠습니다. MySql의 경우 별도의 커넥터를 의존 성 주입 해주셔야 합니다. pom.xml 에 커넥터 dependency를 추가 합니다. mysql mysql-connector-java 5.1.31 이제 복수 DB의 datasource 설정을 .. Programing/Spring 2019. 3. 20. Mybatis Oracle Sequence 사용시 주의점 Mybatis Oracle Sequence 사용시 주의점 자동증가 시켜야 되는 컬럼 사용 시 Max값+1을 사용하지 않기 위해 오라클에 시퀀스를 생성하고 (Myseql은 auto_increasement) Mybatis 의 selectKey 태그를 사용하여 해당 값을 VO 객체 변수에 받아오게 됩니다. Link : mybatis selectkey 사용법 생성한 키값 리턴받기 mybatis selectkey 사용법 생성한 키값 리턴받기. mybatis selectkey 사용법 생성한 키값 리턴받기. update나 insert 시 키값을 리턴 받는 방법을 알아보도록 하겠습니다. 예제를 보도록 하죠. 1 2 3 4 5 6 7 8 9 10 .. aljjabaegi.tistory.com 위와같이 Mybatis에서 .. Programing/Spring 2019. 3. 4. Mybatis insert, update null 처리, 부적합한 열 유형 처리방법, Oracle Merge Mybatis insert, update null 처리, 부적합한 열 유형 처리방법 Mybatis를 활용해 insert, update 시 변수의 값이 없을 시 부적합한 열 유형 (해당 변수=null) 에러가 발생합니다. 이를 처리하기 위해서는 if 태그를 활용하는 방법과 MERGE INTO C_TS_WETHER_INFO USING DUAL ON (FRCST_DT = #{baseDate} AND WETHER_ID = #{wetherId}) WHEN MATCHED THEN UPDATE SET TMPRT = #{t1h} . . . jdbc type을 설정해 주는 방법이 있습니다. varchar형은 jdbcType=VARCHAR number형은 jdbcType=INTEGER MERGE INTO C_TS_WETH.. Programing/JAVA 2018. 10. 11. mybatis selectkey 사용법 생성한 키값 리턴받기. mybatis selectkey 사용법 생성한 키값 리턴받기. update나 insert 시 키값을 리턴 받는 방법을 알아보도록 하겠습니다. 예제를 보도록 하죠. SELECT SID_INCIDENT_REV AS msgVersion FROM BITBUSSTOPINFODEVICE WHERE SID_NO = #{inciMsgLocation} UPDATE BITBUSSTOPINFODEVICE SET SID_INCIDENT_REV = SID_INCIDENT_REV+1 WHERE SID_NO = #{inciMsgLocation} 위의 예제를 보시면 update 태그 내에 selectKey 태그가 들어간 것을 보실 수 있습니다. 결론부터 말씀드리면 업데이트를 한 후 업데이트 된 값을 리턴받는 것인데요, 첫번째 라인부.. Programing/Spring 2018. 1. 22. iBatis, myBatis 동적 태그 비교 정리 Dynamic SQL iBatis, myBatis 동적 태그 비교 정리 Dynamic SQL iBatis 의 업그레이드 버젼이 myBatis 라고 생각 하시면 됩니다. iBatis 가 Apache 에서 google로 넘어가면서 명칭이 변경된 것이죠. 설정이나 기타 차이점에 대해서는 아래의 Link를 참조하시고, Link : 전자정부프레임워크 iBatis, MyBatis 설정 방식 차이, 비교 전자정부프레임워크 iBatis, MyBatis 설정 방식 차이, 비교 전자정부프레임워크 iBatis, MyBatis 설정 방식 차이 MyBatis 의 구버젼인 iBatis 와의 설정 방식 차이에 대해서 알아보겠습니다. (같은 DAO 형태로 사용하는 경우를 예로 설명하겠습니다.) 전자정부프레임워크에.. aljjabaegi.tistory.c.. Programing/Spring 2017. 8. 30. 전자정부프레임워크 iBatis, MyBatis 설정 방식 차이, 비교 전자정부프레임워크 iBatis, MyBatis 설정 방식 차이 MyBatis 의 구버젼인 iBatis 와의 설정 방식 차이에 대해서 알아보겠습니다. (같은 DAO 형태로 사용하는 경우를 예로 설명하겠습니다.) 전자정부프레임워크에서는 MyBatis와 iBatis 설정이 모두 되어 있습니다. 그러므로 그냥 쓰고싶은 설정을 해서 사용하면 되는 것이죠. 그럼 차근차근 순서대로 각각의 설정에 대해 알아보도록 하겠습니다. 전자정부프레임워크를 활용하지 않을 경우에는 pom.xml 에 각각의 설정을 해줘야 합니다. 예시) org.mybatis mybatis 3.2.2 org.apache.ibatis ibatis-sqlmap 2.3.4.726 하지만 위에서 말씀드린데로 전자정부프레임워크에는 설정이 모두 있으니 추가 할 .. Programing/egovFramework 2017. 8. 29. Mybatis 마크업 에러 해결 방법 Mybatis 마크업 에러 해결 방법 '요소 콘텐츠는 올바른 형식의 문자 데이터 또는 마크업으로 구성되어야 합니다.' Mybatis 쿼리문을 작성하다 위와 같은 에러가 났다. DB상에선 문제없는 쿼리인데 왜 에러가 나지 생각을 하다 문득 놓친 부분이 생각났다. Mybatis에서는 크고작은부등호() 사용시 사이에 사용해 주어야 한다는 것. xml태그와 부등호가 같기 때문에 파싱시 에러가 발생하는 것입니다. 그래서 아래와 같이 부등호를 CDATA 사이에 넣어주면 에러는 발생하지 않습니다. ]]> ex) SELECT * FROM DEPT WHERE DEPT_NO ]]> 0001 OR SELECT * FROM DEPT WHERE DEPT_NO > 0001 ]]> Programing/JAVA 2015. 9. 16. 이전 1 다음 💲 추천 글 반응형