java.sql.Statement
public interface Statement
extends Wrapper

정적 SQL 문을 실행해, 작성된 결과를 돌려주기 위해서(때문에) 사용되는 객체입니다.  

디폴트에서는,Statement 객체 마다 1 개의 ResultSet 객체만이 동시에 오픈할 수 있습니다. 따라서, 1 개의 ResultSet 객체의 read가, 다른 read에 의해 끼어들어지면(자), 각각은 다른 Statement 객체에 의해 생성된 것이 됩니다. Statement 인터페이스의 모든 execution 메소드는, 문장의 현재의 ResultSet 객체로 오픈되고 있는 것이 존재하면, 그것을 암묵에 클로즈 합니다.

관련 항목:
Connection.createStatement() , ResultSet

java.sql.PreparedStatement
public interface PreparedStatement
extends Statement

프리컴파일 된 SQL 문을 나타내는 객체입니다.  

SQL 문은, 프리컴파일 되어PreparedStatement 객체에 포함됩니다. 거기서, 이 객체는, 이 문장을 여러 차례 효율적으로 실행하는 목적으로 사용할 수 있습니다.

주: IN 파라미터치를 설정하는 설정 기능 메소드 (setShort,setString 등)는, 입력 파라미터의 정의된 SQL 형과 호환이 있는 형태를 지정하지 않으면 안됩니다. 예를 들어, IN 파라미터에 INTEGER 라고 하는 SQL 형이 있는 경우,setInt 메소드를 사용하지 않으면 안됩니다.

임의의 파라미터형 변환이 필요한 경우는,setObject 메소드는, 목적의 SQL 형으로 사용하지 않으면 안됩니다.  

파라미터 설정의 예를 다음에 나타냅니다. con 는 액티브한 접속을 나타냅니다.

PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
SET SALARY = ? WHERE ID = ? ");
pstmt.setBigDecimal(1, 153833.00)
pstmt.setInt(2, 110592)
 

관련 항목:
Connection.prepareStatement(java.lang.String) , ResultSet

PreparedStatement 에 대한 설명 : http://pcguy7.springnote.com/pages/1052420
Summary 그래서 우리는 prepared statements를 파라메터와 함께 사용해야한다. 이것은 미리 만들어진 접근 계획을 재 사용하므로서 데이터 베이스에 대한 로드를 줄여 준다. 이 cache는 데이터 베이스가 확장된 것이어서 여러분의 모든 애플리케이션이 유사한 파라메터화된 sql을 사용하면 하나의 애플리케이션이 다른 애플리케이션에 의해 사용된 prepared statements를 이용하므로 캐시 스키마의 효율성을 증대 시킬 수 있다. 이것은 application server 사용의 이점이다. 왜냐하면 데이터 베이스에 접근하는 로직은 데이터 접근 계층에 집중화 되어야하기 때문이다. 두번째로 prepared statements의 올바른 사용은 또한 여러분이 애플리 케이션 내부의 prepared statements cache를 잘 이용할 수 있게 한다. 이것은 애플리케이션이 이전에 사용했던 prepared statements 호출을 재사용해서 JDBC driver에 대한 호출의 수를 감소시켜 성능의 향상을 시킨다. 이것은 현명한 fat clients 사용을 효율적으로 그리고 경쟁력있게 만들고 독점적인 connection을 유지할 수 없는 불이익을 제거한다. 만약 파라메타화된 prepared statements를 사용한다면 여러분은 데이터 베이스와 코드를 가지고 있는 application server의 효율을 높일 수 있다. 이들 개선된 점은 여러분의 애플리케이션의 성능을 향상 시킬수 있게 할것이다.


내 나름의 중요한 결론을 말해보자면, 'PreparedStatement를 잘 활용하면 CPU 사용량을 줄이고 DB에 접근하는 소프트웨어의 속도를 향상시키는 효과가 있다'는 것이다.

ㅡㅅ-)> 내가 쓰기 불편하다고 Statement 형식으로 많이 썼었는데, 이제 PreparedStatement를 사용해야겠다. 나란 녀석도 참 고집이 쎄다. 그렇게 쓰는 장점이 있는데도, 내가 쓰기 편하다고 그 방식을 외면하고 있으니 말이다. 

String 은 Charecter Line을 나타낸다. Character Line 객체는 변형되지 않기 때문에 공통으로 사용할 수 있다.
그 값을 바꾸기 위해서는 필요에 따라 대입을 시켜줘야 한다.

StringBuffer는 Thread를 사용할 수 있는 변형이 가능한 캐릭터라인이다. 
예를 들어,
 StringBuffer z = "start";
라고 한 경우, 
z.append("le")라고 하면 z의 내용은 "startle"가 되며, z.insert(4,"le")라고 하면 z의 내용은 starlet가 된다.

두 클래스 다 직렬화(Serializable)를 지원하는구나. ㅡㅅ-);;

참고 : http://hongsgo.egloos.com/2033998 요 글을 보면, String < StringBuffer < StringBuilder 속도 차이가 있다. 흠... String은 적게 쓰는게 좋군요. ㅡㅅ-);;

참고 : http://cacky.tistory.com/36

  • String : 변경되지 않는 Character 문자열 객체
    문자열이 변경되지 않을 경우에는 String 사용
  • StringBuffer : 값이 변경 가능 // 동기화 가능 : 다중 스레드 일 경우에 사용
    문자열이 변경되고 다중 스레드에서 사용될 경우 사용
  • StringBuilder : 값이 변경 가능 // 동기화 되지 않음 : 단일 스레드일 경우에 사용
    문자열이 변경되고, 단일 스레드에서 사용될 경우 사용
업계에서는 경력자를 요구한다. 아직 검증되지 않은 신입을 발굴하여 고용하는 비용보다는 경력자를 고용하는 것이 더 비용 대비 효과가 좋은 것으로 판단을 하고 있는 것으로 보인다. 그게 틀린 말은 아니라는 생각도 든다. ㅡㅅ-)>

하지만 초보자로서 경력을 쌓아할 수 있는 인재를 발굴하려는 노력도 해줘야하지 않을까?

내가 개발자 신입으로 취업을 하지 못하는 상황이기 때문에 하는 이야기(OTL) 이기도 하지만, 그런 노력이 부족한 것도 사실이라고 생각한다. 현재 나에게 중요한 것은 3년을 비비고살 든든한 산을 구하는 일이 아닐까 생각된다. 

몇번의 면접을 보고나서 입사제의를 거절한 짧은 경험을 바탕으로 조금 적어보고자 한다.

프로그래머 신입 개발자로서 준비해야할 것
  • 자신감 - 어디에 가서든 내 역활을 제대로 수행할 수 있다.
  • 도전정신 - 새로운 것에 대한 도전정신, 그것은 사회 초년병이 가져야할 무기다.
  • 기술력 - 프로그래머로서의 기본은 어디까지나 프로그래밍 능력이다. 코등 스타일, 프로그래밍에 대한 개념을 깨우치자.
  • 친화력 - '다른 사람들과 얼마나 친하게 어울릴 수 있는가' 하는가를 주의깊게 보는 것 같다.
  • 인내심 - 원래 노동 자체가 어려운 일이다. 2~3년 이상을 한 직장에서 꾸준하게 버틸 수 있는 인내심이 필요하다. 2~3년 뒤에는 당신을 찾는 이들이 많은 것을 경험하게 될 것이다. 지금 구인 정보를 봐도 2~3년 경력직을 찾는 이들이 많다.
  • 자격증 - SCJP, OCP 같은 국제공인 자격증은 모르겠다. 하지만 반드시!! '정보처리기사, 산업기사' 자격증을 취득하라.
  • 이력서 - 자신이 가지고 있는 것을 제대로 표현할 수 있는 이력서 양식을 갖추어라.
    • 컨설턴트는 입사만 하면 된다라는 이야기를 한다. 그게 사실일지 모른다. 그럴 생각이라면 제대로 꾸며쓰고 제대로 외우고 자신의 것으로 만들어라. '입사'라는 목적을 위한 수단으로 사용하는 이력서를 제대로 자신의 것으로 숙지하라.
  • 자기PR - 현재는 자기를 제대로 광고하고 자신을 상품화할 수 있는 능력을 필요로 한다.
    • 개인 블로그, 위키, 포트폴리오 기록 등을 남기는 것을 게을리하지 말자.

아직도 나는 구직을 희망하고 있는 백수!!

빠른 시일 안에 백수를 타파하는 것이 나의 목표!! +_+)b 9월은 취업의 달!!

'Programming' 카테고리의 다른 글

[펌] 2010년 전략 기술 톱 10  (0) 2009.10.26
잘 만들어진 코드  (0) 2009.09.07
코딩 스타일  (0) 2009.08.24
Adapter 패턴  (0) 2009.08.18
허니몬, 새삼 느끼다. 공부한 것의 정리에 대해서.  (0) 2009.05.12
Eclipse Galileo 에 Spring IDE 설치를 기준으로 한다.

1. Help -> Install New Software 를 클릭한다.

2. Install 팝업창에서 오른편에 있는 Add를 클릭한다.

3. Name 에 적당한 이름(나는 Spring IDE)을 입력하고, Location 에는
를 입력한다.


4. OK를 클릭한다.

5. 잠시 후 지정된 경로에서 인스톨 정보를 불러와 화면에 보여준다.
보여지는 정보에서 Core 와 Extensions 두 가지만 체크를 하고 Next를 누르고, 과정을 진행하면 설치가 완료된다.


6. 설치가 진행된 후에 이클립스를 다시한번 실행시키고 나면 된다.


7. 정상적으로 설치가 이루어지면, 프로젝트 창 부분에서 새로운 프로젝트를 생성하려고 하면 위 그림과 같은 내용을 확인하여 볼 수 있다.


마침 넷빈즈를 실행시켜보니 스타트 페이지에 다음과 같은 내용들이 나오기에 가만히 보다가 관련한 블로그에서 Java IDE로 무엇을 사용하는지에 대한 투표를 하는 블로그가 연결되어 있었다. 그래서 사이트에 가서 투표를 해봤다. 

결과는 보는 것처럼 이클립스 쪽이 우세한 상황이다. 그 뒤를 넷빈즈가 바짝 뒤쫓고 있다.
JavaFX에 대한 플러그인과 썬사의 적극적인 지원으로 넷빈즈도 자바 IDE로서 조금씩 유용하게 쓰이고 있는 것 같다.
하지만... 아직은 이클립스쪽이 조금 더 낫지. ^^ 힘내라!!

+ Recent posts