Background Image

FORUM

조회 수 7505 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

안녕하세요.

요새 큐브리드로 스프링 프레임워크를 공부하고 있어요.

큐브리드에 쿼리부분에 오류가 잇는거 같아서 글을 쓰게 되었습니다.


질문은 별거 아닐수 있지만 제가 DB SQL를 

자바 소스에 쿼리로 넣는 부분에서 오류가 나타나서 질문을 올리게 되었습니다.


DB정보

DB명 -sqlstudy

테이블-users

컬럼 

id,varchar(10)

name,varchar(20)

password,varchar(10)

login,integer

recommend,integer

leval,integer 



public List<User> getAll() {

// TODO Auto-generated method stub

return this.jdbcTemplate.query("select * from users order by id", this.userMapper);

}


----------------------------------------------------------------------------

enum 소스

public enum Level {

BASIC(1),SILVER(2),GOLD(3);

private final int value;

Level(int value){

this.value = value;

}

public int intValue(){

return value;

}

public static Level valueOf(int value){

switch(value){

case 1: return BASIC;

case 2: return SILVER;

case 3: return GOLD;

default : throw new AssertionError("Unknown value: " + value);

}

}

}


UserDaoTest 클래스의 소스/ 데이터 삽입부분 - 나머지소스는 생략

.....

public void setUp(){

this.user1 = new User("id1","name1","pass1" , Level.BASIC,1,0);

this.user2 = new User("id2","name2","pass2" , Level.SILVER,55,10);

this.user3 = new User("id3","name3","pass3" , Level.GOLD,100,40);

}

-----------------------------------------------------------------------------------------

UserDaoJdbc 클래스의 소스/ 실제 데이터 입력 쿼리문 - 나머지 소스는 생략

......

public void add(final User user){

this.jdbcTemplate.update(" INSERT INTO users(id, name, password, level, login, recommend, ) values (?,?,?,?,?,?) "

,user.getId(),user.getName(),user.getPassword(),user.getLogin(),user.getRecommend(),user.getLevel());


}



문제/오류나는 설명 :

1) enum 를 활용해서 level 컬럼에 데이터를 삽입하는 소스에 오류가 생깁니다.


2) level 컬럽을 다른 컬럼명으로 바꾸면 데이터가 삽입된다 예) level -> levela


3)levela 컬럼으로 변경한후에 데이터가 들어가지만

스프링 프레임워크3.0에서 템플릿을 사용한 쿼리를 날린후에

정상적인 데이터가 들어오지 못한다 또는 오류 발생된다.


우선 데이터가 돌아가게는 변경했지만..

템플릿을 사용못해서 공부에 진도가 늦쳐지고 있어서 속상하네요.


제가 작성한 소스도 압축해서 올립니다.

꼭 원인이 뭔지에 대해 알려주세요. 







  • ?
    권호일 2012.04.05 18:06

    안녕하세요.

     

    먼저 이유부터 말씀드리겠습니다.

    "LEVEL"은 큐브리드 내부명령어입니다.

    따라서 테이블 이름, 컬럼 이름, 변수 이름과 같은 식별자(identifier)로 아래에 정리된 예약어를 사용할 수 없습니다.

    단, 큰따옴표(" ")나 대괄호([ ]) 또는 백틱 부호(` `)로 둘러싸는 방법으로 예약어를 식별자로 사용할 수 있습니다.

    아래와 같이 level을 대괄호로 둘러싸면 되겠습니다. 

     

    INSERT INTO users(id, name, password, [level], login, recommend, )

     

    감사합니다.

  • ?
    엄기호 2012.04.05 18:14

    CUBRID 전체 예약어는 (http://www.cubrid.com/zbxe/48522) 참조해 주세요.!!


  1. No Image notice by admin 2024/04/23 by admin
    Views 49 

    CUBRID 사용자를 위한 DBeaver 도구 출시 안내

  2. SQLGate for CUBRID 영구 무료 라이선스 제공

  3. 임시볼륨 문제 문의드립니다.

  4. 임시볼륨이 꽉차지는 현상 문의

  5. 임시테이블 관련

  6. 임시테이블 지원관련 문의입니다.

  7. 임시테이블에 대한 지원 계획은 있는지 궁금합니다

  8. 임의용량에 대해 문의 드립니다.

  9. 자동백업 문의

  10. 자동백업 문제

  11. 자동백업 시간 설정한 시간과 2시간 차이가 납니다.

  12. 자동백업시 폴더까지는 생성이 되는데 백업파일이 생성이 않됩니다.

  13. 자동증가 컬럼수정후 자동증가값이 들어가게 하려면?

  14. 자동증가 트리거사용

  15. 자동증가 필드 질문합니다

  16. 자동증가값을 키로 사용하는 경우에 대해 질문 있습니다.

  17. 자료 저장시 속도가 느려집니다.

  18. 자바 함수 사용중에 jdbc 접속오류 발생

  19. 자바 + C 연동 끊김현상

  20. 자바 배치 쉘 수행시 큐브리드 이중화 설정

  21. 자바 저장 프로시저 서버 기동 문의

  22. 자바 저장함수 속도 관련문제요..

Board Pagination Prev 1 ... 146 147 148 149 150 151 152 153 154 155 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales