물론 insert 후 values 조건 그대로 select 해서 알아내도 되지만

php에서는 아예 메소드가 있다던데 자바라고 없을쏘냐?

그래서 구글링을 좀 해보니 다음과 같은 방법이 있었다

Statement stmt = conn.createStatement();
stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
System.out.println(stmt.getGeneratedKeys().getMetaData().getColumnName(1));
return stmt.getGeneratedKeys();

실행해보면 알겠지만 

GENERATED_KEY 라고 나온다

이걸 이용해서

resultSet.getInt(1);

로 인터넷에 나와있으니까 그냥 맹목적으로 따라하는 식으로 하지 않고 아래와 같이 자신이 직접 뭔지 알고 할 수도 있다

resultSet.getInt("GENERATED_KEY");

getInt("id") 이딴거 암만 해봤자 절대 안나온다

ReseltSetMetaData에는 저 메소드 말고도 다른 유용해 보이는 것들이 몇개 더 보이니 필요에 따라 갖다 쓰시면 될 듯 함미당
Posted by 병아리
맨날 또 찾고 또 찾고 하다 결국 못찾지 말고 이참에 적어두자

Posted by 병아리
현재 릴리즈되는 벨로시티에 대한 제대로 된 설치법이 없어서 나중에 나도 참고할 겸 적어놓음.

이 포스팅은 velocity의 properties등을 쓰거나, 자세한 세부사항 세팅법, 서블릿에서 벨로시티를 쓰는 법, VTL에 관련된 포스팅이 아닙니다.

이외의 것들은 다른 블로그를 참고하세요.

저같이 간단한 vtl사용법은 아는데 실제 톰캣 모듈에 벨로시티를 빠르고 '간단'하게 추가하는 법을 알고 싶은 상황에 맞는 포스팅입니다.

검색해보시면 아시겠지만 구글에 나오는 설치법들은 예전에 한분이 써 놓으신 걸 여기저기 펌해놓은 것 밖에 보이지 않습니다. 아니면 너무 이전 설명이거나 그냥 '막' 따라하기에는 좀 복잡해서 무리가 있더군요... 또 잘 되는 것 같지도 않고요...

서두가 길었네요.

1. 아파치 벨로시티로 가서 Tools를 다운받는다.

2. lib 폴더 안에 있는 commons-*.jar파일과 velocity-1.6.x.jar, velocity-tools-2.x.jar 파일을 deploy할 톰캣 모듈의 lib에 추가해준다.

현재 1.6.2와 2.0이 릴리즈 되고 있습니다.

3. web.xml에 다음을 추가해준다. (톰캣 6.x입니다. 현재 버전에 맞게 하세요.)

<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>

servlet-name이나 url-pattern은 취향에 맞게 바꿔주셔도 됩니다.

4. sample 파일을 올리고 들어가보면 아마 보일겁니다.
Posted by 병아리

아무리 구글에서 검색어를 바꿔가며 찾아도 안 나오는 걸 해외 포럼 이전 기록 뒤져서 간신히...

두 가지 방법이 있음.

1. #2000-01-01# 로 바꾼다.

2. cDate('2000/01/01') 로 바꾼다.

나만 몰랐나 ㅡㅡ?

Posted by 병아리
Posted by 병아리
cl.exe 실행 시 mspdb80.dll 없다는 오류가 뜰 경우

이와 관련된 문제로


가 발생할 수도 있다
Posted by 병아리
html 파일의 head에 

<LINK REL="SHORTCUT ICON" HREF=""/>

를 추가해준다.
Posted by 병아리
보통의 경우 자주 쓰는 BufferedReader + FileReader는 로컬파일에서만 먹히는 듯 싶다.

2주 동안 했던 고생의 해결책이 이거인듯.

앞으론 넷 상과 같은 외부 파일을 읽을 땐 FileReader가 안먹히면 InputStreamReader도 생각해보자.

참고로 이건 애플릿용

URL source = new URL(this.getCodeBase(), this.filePath);
BufferedReader br = new BufferedReader(new InputStreamReader(source.openStream()));
Posted by 병아리
Posted by 병아리
모델 클래스에 Comparator나 Comparable을 implements 시킨다.

그 뒤 compare나 compareTo 메소드를 구현해주면,

Arrays.sort(array) 나 Collections.sort(collection) 로 정렬이 가능하다.

둘이 약간은 차이가 있으니 사용시 주의한다.

구현해야 하는 메소드는

comparator는 compare, comparable은 compareTo.

sorting시 파라메터도 다르다.

comparator는 implement해서 compare를 구현해놓은 클래스를 sort의 2번째 파라메터로 넣어준다.

sort(array, new ModelClass());

인스턴스를 만들거나 이전에 있던 인스턴스를 넣어주어도 아마 될 것이다.

comparator는 말그대로 비교해주는 놈. sort에게 누구를 써서 대소를 비교해야 하는지 알려준다고 생각하면 될 듯.

comparable은 그냥 정렬하고자 하는 배열이나 list만 주면 된다.

sort(array);

비교할수 있다는 의미이니 그 안에 자기를 정렬하는 방법이 같이 있는건 당연한 거겠지.


// 쓸 때마다 헷갈려서 매번 찾아봤는데 이젠 적어놓아야 겠다.
Posted by 병아리

사이드바 열기