안녕하세요.
현재 오라클 11g(11.2.0.2.0)에서 테스트를 하고 있는데
자바 메서드에 DB 컬럼명을 호출 시 스트링 또는 변수를 소문자로 지정하면
null이 호출되고 대문자로 지정하면 정상적으로 데이터를 호출하고 있습니다.
제가 알기로 컬럼명 호출 시에는 대소문자를 구분하지 않고 불러오는걸로 알고 있지만 이게 따로 설정이 필요한건지 고수님들의 답변 부탁드려요.
환경은 스프링3.0 + mybatis에서 테스트했으며
DB 스크립트는 아래와 같습니다.
ALTER TABLE ADMIN.SPRINGTABLE
DROP PRIMARY KEY CASCADE;
DROP TABLE ADMIN.SPRINGTABLE CASCADE CONSTRAINTS;
CREATE TABLE ADMIN.SPRINGTABLE
(
SEQ NUMBER(11) NOT NULL,
NAMES VARCHAR2(20 BYTE),
AGE NUMBER(3),
SEX VARCHAR2(5 BYTE),
ADDR VARCHAR2(30 BYTE),
PHONE VARCHAR2(20 BYTE)
)
TABLESPACE SYSTEM
RESULT_CACHE (MODE DEFAULT)
PCTUSED 40
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
-- There is no statement for index ADMIN.SYS_C007187.
-- The object is created when the parent object is created.
ALTER TABLE ADMIN.SPRINGTABLE ADD (
PRIMARY KEY
(SEQ)
USING INDEX
TABLESPACE SYSTEM
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE (
INITIAL 64K
NEXT 1M
MINEXTENTS 1
MAXEXTENTS UNLIMITED
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT
)
ENABLE VALIDATE);
========================== 아래는 자바 DAO 소스 ============================
package com.madnix.test1.global;
import java.util.HashMap;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("dao-context.xml")
// @TransactionConfiguration(transactionManager="transactionManager")
// @Transactional
public class DaoContextTest {
@Autowired
private SqlSessionTemplate sqlSessionTemplate;
@Test
public void testApplicationContext() throws Exception {
}
@Test
public void testQuery1() throws Exception {
System.out.println(sqlSessionTemplate);
List list = sqlSessionTemplate.selectList("selectSample");
if (list != null) {
for (int i = 0; i < list.size(); i++) {
HashMap map = (HashMap)list.get(i);
System.out.println(">>" + map.get("NAMES")); <<== 테이블 컬럼명
}
}
}
}