提供一個功能完整、防 SQL 注入、支持事務、分頁查詢的 SQLite 工具類,簡化 Android 數據庫操作。
createTable(String sql)insert(String table, Object[] params) 參數化插入delete(String table, String key, String keyValue)update(String table, String keyParam, String keyField, String[] fields, Object[] params)select(String table) 全表select(String table, String key, String keyValue) 條件查詢selectVector(String sql) 自定義 SQL 返回 Vector<Vector<Object>>selectWithPager(...) 分頁查詢返回 List<List<Object>>? 佔位符,通過 SQLiteStatement.bindXXX() 綁定值。Connection,外部控制事務(commit/rollback)。ResultSet.getMetaData() 動態獲取列名與數量,裝填 Vector 或 Object[][]。SQLException,記錄日志,事務自動回滾。SQLiteUtils db = new SQLiteUtils(conn);
// 插入
db.insert("user", new Object[] { "tom", 25, "tom@qq.com" });
// 查詢
Vector> data = db.select("user", "name", "tom");
// 分頁
List> page = db.selectWithPager("user", new String[]{}, new String[]{}, "10", "0", "id");
AsyncTask、RxJava 或协程。ORDER BY 且有索引,否則 OFFSET 性能差。