DB

[SQLite] 페이징처리 하기

SQLITE를 사용시 페이징 처리 방법에 대해 알아 보자.

먼저 SQLiteDatabase 클래스를 사용하여 데이터베이스 초기화를 진행합니다.

String databasePath = Environment.getDataDirectory() +“/data/패키지명/databases/mystory.db”; // 데이터베이스 파일명을 설정합니다.
//데이터 베이스 초기화 SQLiteDatabase database = this.openOrCreateDatabase(databasePath, Context.MODE_PRIVATE, null);Z selectSearchWordingDayStory(database, “하이”, 1, 10);

 

LIMIT / OFFSET을 사용하여 페이징 처리가 가능합니다.

SQLite는 오라클에서 지원하는 ROWNUM() 기능이 없어요.

그 대신  LIMIT함수를 이용합니다.

LIMIT 10  : 10개의 ROW를 출력하라는 의미 입니다.
LIMIT 3 OFFSET 2 : 2개의 ROW를 건너 뛰고 3개를 출력하라는 의미입니다.

 

public static Cursor selectSearchWordingDayStory(SQLiteDatabase database, String searchParam , int CurrentPage , int PageSize  ){
    String queryParam;
    queryParam = "SELECT _event_type "
            + ", _contents"
            + ", event_id"
            + ", _event_date"
            + " FROM TB_STORY ";
            if(!StringUtil.isEmpty(searchParam)) {
                queryParam = queryParam + " WHERE _contents LIKE "  + "'%" + searchParam + "%'";
            }
            queryParam = queryParam + " ORDER BY _event_date DESC ";
            if(StringUtil.isEmpty(searchParam)) {
                queryParam = queryParam +" LIMIT " + PageSize + " OFFSET " + (CurrentPage - 1) * PageSize;
            }

    //Log.d(DataBaseUtil.class.getSimpleName(), "=========== queryParam: " + queryParam);
    Cursor cursor =  database.rawQuery(queryParam ,null);

    return cursor;
}

참고사항 : 

SQLite는 파일기반의 DBMS입니다. 그리고 오픈소스입니다.

SQLite 공식사이트
https://www.sqlite.org/index.html

SQLite 나무위키 정보
https://namu.wiki/w/SQLite

좀더 자세한 정보가 필요하시면 아래 사이트를 참고하세요. 해외사이트인데 정리가 잘 되어 있네요
https://www.techonthenet.com/sqlite/index.php
https://www.tutorialspoint.com/sqlite/

기초 지식이 필요하다면 아래 사이트를 참고하세요
http://gywn.net/2013/08/let-me-intorduce-sqlite/

SQLite Browser : DB파일을 GUI로 보는 툴입니다.
https://sqlitebrowser.org/

오픈소스로 진행 되는건가? 프로그램 코드가 GitHub에 있습니다.

 

sqlitebrowser/sqlitebrowser

Official home of the DB Browser for SQLite (DB4S) project. Previously known as “SQLite Database Browser” and “Database Browser for SQLite”. Website at: – sqlitebrowser/sqlitebr…

github.com

 

Leave a Reply

error: Content is protected !!