안녕하세요.
해외의 모바일 개발업체에 몸담고 있는 개발자입니다.
웹에서 폭넓게 사용되고있는 ibatis(현mybatis)를 안드로이드에 맞게 적용한 abatis를 공개하게 되었습니다.
몇개의 크고작은 프로젝트에서 문제 없이 사용된 실적이 있기에,
오픈소스(아파치라이센스2.0)로 구글코드에 공개를 결정하였습니다.
특징이라면 한단어로 정리해서 "심플"입니다.
ibatis를 한번이라도 써보셨다면 아마 바로 사용하실 수 있을거라고 생각합니다.
물론 한번도 안써보신 분들도 쉽게 접근할 수 있는 쉬운 라이브러리이니 사용해주시면 감사하겠습니다.
사용방법은 values(strings.xml이 있는 곳)에sqlmaps.xml(이름은 자유입니다.)을 추가하여
<string name="sqlId002">
insert into
tb_ormtest
values (
#orm_id#,
#orm_name#,
#orm_age#,
#orm_memo#
);
</string>
와 같이 sql문을 등록하는 방법입니다. 실제 코드에서는
// get abatis instance
AbatisService abatisService = AbatisService.getInstance(getApplicationContext(), "ormtest");
// set parameter
Map<String, Object> param = new HashMap<String, Object>();
param.put("orm_id", 1);
param.put("orm_name", "sonix");
param.put("orm_age", 30);
param.put("orm_memo", "It's cool!");
// excute sql
int result = abatisService.execute("sqlId002", param);
와 같이 간단하게 취득이 가능합니다.
좀더 자세한 사용 방법은 구글코드 페이지를 참고해주세요.
-abatis(jar) 다운로드 페이지
http://code.google.com/p/abatis/downloads/list
-abatis 구글소스 페이지
http://code.google.com/p/abatis/
-abatis차기버젼 개발에 참여하실분을 위한 svn
http://abatis.googlecode.com/svn/trunk/abatis
앞으로도 계속해서 안드로이드 관련 라이브러리를 구글코드에 공개해나갈 생각입니다.
안드로이드 라이브러리 오픈소스 프로젝트에 관심있는 분들은 정보공유, 질문 메일 환영합니다.
wonhyeongju@gmail.com
Wiki를 보니 일어와 영문으로 되어 있는데 일어쪽이 더 상세하게 나와있군요.
아마도 일본쪽에서 일하고 계신듯..
1. AbatisService abatisService = AbatisService.getInstance(getApplicationContext(), "ormtest");
여기서 "ormtest"는 dbName이네요. >> ormtest.db 로 잡힘.
2. db 최초 생성시 실행되는 테이블 생성 sql은 string name으로 "initialize"로 하면 되는듯
3. db 버전관리를 어떻게 해야 할지 좀 애매함.
보통은 onUpgrade를 오버라이딩해서 db버전에 따라 테이블 구조를 변경해야 하는데
instance메소드에서 dbVersion도 넘기지 않고
생성자가 private으로 되어 있어서 onUpgrade도 오버라이딩하기 애매한 구조
이부분은 좀 생각하셔야할것 같네요.
근래에 MyBatis를 사용하여 DB서버와 WAS를 연동하였는데, DB 연동이 간편해지는 것을 볼 수 있었습니다.
올려주신 프로젝트는 안드로이드용의 SQLite 버전인건가요?