Cute Hello Kitty Kaoani

Framework & Library/MyBatis

Framework & Library/MyBatis

[Oracle/MyBatis] 에러 모음

ORA-00911: invalid character 잘못된 문자가 들어가면 발생. 주로 쿼리 뒤에 ; 를 넣을 때 발생 indexoutofboundsexception: index: , size: Mybatis의 경우 쿼리문의 컬럼 값을 가져와 VO의 데이터에 자동으로 매핑한다. 그렇기에 이러한 에러가 발생한다면 현재 VO의 데이터에 쿼리문의 컬럼이 제대로 매핑되지 않았다. 나같은 경우는 DTO(VO)에는 테이블의 모든 속성을 작성하고 생성자도 만들었다. 그리고 Mapper XML파일에서 select문을 작성할 때 테이블의 일부 컬럼만을 조회할 수 있도록 작성했는데 DTO(VO)의 데이터와 조회할 컬럼을 일치하도록 수정하여 해결할 수 있었다. IO 오류 : The Network Adapter could n..

Framework & Library/MyBatis

[MyBatis] 동적 SQL (Dynamic SQL) 기능 - foreach문

동적 SQL에서 필요한 것은 collection에 대해 반복처리를 하는 것이다. 종종 IN 조건을 사용할 때 사용한다. select문에서 foreach 사용 select deptno, dname, loc from dept #{item} 파라미터 객체로 List 인스턴스나 배열을 전달할 수 있다. 그렇게하면 MyBatis는 Map으로 자동으로 감싸고 이름을 키로 사용한다. List 인스턴스는 "list" 를 키로 사용하고, 배열 인스턴스는 "array"를 키로 사용한다. // Main.java // select * from dept where deptno In (값, 값2, 값3, ... ) List deptnoList = Arrays.asList(10, 20, 30, 40); List list = ses..

Framework & Library/MyBatis

[MyBatis] 동적 SQL (Dynamic SQL) 기능 - if, choose/when/otherwise

MyBatis의 가장 강력한 기능 중 하나는 특정 조건에 따라 변경되는 동적 SQL (Dynamic SQL) 기능이다. if 조건식 작성 select deptno, dname, loc from dept dname = #{dname} order by 1 choose / when / otherwise 다중 조건식 작성 select deptno, dname, loc from dept deptno IN (50, 60) deptno = 70 deptno In (10,20,30,40)

Framework & Library/MyBatis

[MyBatis] SQL Map XML 파일

Mybatis 는 src 폴더에 Mapper 설정 정보를 저장하는 xml 파일 하나 Configuration.xml 와 SQL 쿼리를 저장하는 xml 파일 테이블명Mapper.xml 을 테이블 당 하나씩 작성한다. 아래 내용은 SQL 쿼리를 저장하는 SQL Map XML 파일에 대한 내용이다. SQL Map XML 파일 id : 구문을 찾기 위해 사용될 수 있는 namespace(명명공간) 내 유일한 구분자 parameterType : 패키지 경로를 포함한 전체 클래스명이나 별칭 resultType : 구문에 의해 리턴되는 패키지 경로를 포함한 전체 클래스명이나 별칭 select deptno, dname, loc from dept where deptno = #{deptno} 구문의 이름은 selectDe..

Framework & Library/MyBatis

[MyBatis] INSERT문/UPDATE문/DELETE문 요청

MyBatis의 연동과 SELECT문 요청은 아래 글 참고 [MyBatis] MyBatis 실행 순서 정리 ✍️ - SELECT 문 MyBatis는 자바 언어를 기반으로 데이터베이스 프로그래밍을 쉽게 할 수 있게 도와주는 SQL Mapper 프레임 워크로 데이터베이스와 자바 객체들 간의 상호 매핑을 단순화하고 SQL 쿼리를 실행하는데 gangintheremark.tistory.com DML 요청 MyBatis 는 기본적으로 auto commit 이 아니기 때문에 명시적으로 commit 호출을 해야한다. (JDBC는 자동commit) // insert int n = session.insert(""); int n = session.insert("", Object obj); // update int n = s..

Framework & Library/MyBatis

[MyBatis] MyBatis 실행 순서 정리 ✍️ - SELECT 문

MyBatis는 자바 언어를 기반으로 데이터베이스 프로그래밍을 쉽게 할 수 있게 도와주는 SQL Mapper 프레임 워크로 데이터베이스와 자바 객체들 간의 상호 매핑을 단순화하고 SQL 쿼리를 실행하는데 도움을 주는 기능들을 제공한다. JDBC와 다르게 프로그램에 있는 SQL쿼리들을 한 구성파일(.xml)에 구성하여 프로그램 코드와 SQL을 분리할 수 있는 장점이 있다. [JDBC] JDBC 실행 순서 정리 ✍️ - SELECT문 요청 JDBC(Java Database Connectivity) 는 어떤 환경에서건 자바 언어를 사용하는 경우에 DBMS 종류에 상관없이 데이터베이스에 접근할 수 있는 독립적인 프로그래밍 API이다. 다음은 JDBC를 구현하는 기본적인 gangintheremark.tistory..

gangintheremark
'Framework & Library/MyBatis' 카테고리의 글 목록