posted by 아겔-_- 2009.06.21 21:18

Adobe Air / Local Db

 

2009/06/18 00:09:20

 

소문대로 SQLite3였심. 은근히 사용하기 편리한게 하악하악이었음. 거기에 다른 디비에 대해서보다 훨씬 특화되어있기 때문에 스키마에 대한 접근성등이 뛰어났다.

 

 

쌩기초

 

기본적인 흐름과 추가적인 주목 사항을 나열해보면...

 

  1. SQLConnection : open/openAsync을 통해서 디비를 생성하거나 오픈. 파일이름을 주지 않으면 단순히 in-memory-db로. File.*.resolvePath등을 이용하여 미리 정의된 사용자 폴더등에 디비 파일을 만들기도 쉽고.

    • openAsync와 같은 경우, 비동기로 기존의 RemoteObject등에 콜백을 붙여서 실행하듯이 처리가 가능하다. 이렇게 선택적인 동기적 처리의 지원이 Flex에서는 전혀 없었는데 마음에 든다.
    • attach 메서드를 이용하여 다른 디비 파일을 한 커넥션에서 관리가 가능
    • loadSchema, getSchemaResult등을 이용하여 스키마 정보에 접근이 가능
  2. SQLStatement : 일반적인 DBI, JDBC 프로그래밍에서처럼 prepared statement의 기능을 제공. 훨씬 액션스크립트적으로.

    1. 일단 new하고 sqlConnection, text을 채워줌. (text은 sql문장)
    2. parameters을 변수로 바인딩해주면 되는데

      • text에서 "SELECT * FROM FOO WHERE BAR = :BAR"와 같이 named parameter을 ":BAR"로 지정하면
      • stmt.parameters[":BAR"] = "foobar!!!"
      • 뭐 이렇게 지정하면 되더라
      • 레퍼런스를 보니, "?", "@"도 사용이 가능한 모양.
    3. itemClass로 결과값을 바로 다른 객체의 필드와 매핑이 가능함.

      • "SELECT foo, bar, zoo FROM spam"이라면
      • foo, bar, zoo을 프로퍼티로 갖는 클래스를 지정하면 결과객체가 해당 클래스로!
  3. 마지막으로 실행은 SQLStatement의 execute랑 getResult을 통해 이루어지고, getResult로 얻은 SQLResult로 값을 얻어내면 됨.

 

정말 간단하지않음?

나름 ORM들도 꽤 나와있는듯하니 멋질듯.

그리고 은근히 캐쉬관리나 사용자설정등을 저장하려면 이런게 있는게 좋으니까.

 

 

이 글은 스프링노트에서 작성되었습니다.

신고

'삽질+돈되는짓 > Adobe AIR/Flex' 카테고리의 다른 글

WPF, XAML을 보며 단상...  (2) 2010.02.22
RTMP  (2) 2009.06.21
AMF  (0) 2009.06.21
Local Db  (0) 2009.06.21
Native Drag & Drop  (0) 2009.06.21

티스토리 툴바